Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

TDD o Test-Driven Development
immagine docker per lavorare con lazarus e free pascal
Indice
Installare lazarus su mac osx sierra
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non)
Advanced Record Syntax: un esempio pratico
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
DB concetti fondamentali e DBGrid
Advanced Record Syntax
DB concetti fondamentali e ZeosLib
DB concetti fondamentali e connessioni standard
guida all'installazione di fpc trunk da subversion in linux gentoo
Creare un server multithread
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Free Pascal e Lazarus sul Raspberry Pi
fpcup: installazioni parallele di lazarus e fpc
Ubuntu - aggiornare free pascal e lazarus
Come interfacciare periferica twain
Lazarus 1.0
Aspetto retrò (Cmd Line)
Disporre le finestre in un blocco unico (come Delphi)
Zeos ... dietro le quinte (prima parte)
Lavorare con file in formato JSON con Lazarus
Overload di operatori
Dataset virtuale
Linux + Zeos + Firebird
Pascal Script
La gestione degli errori in Lazarus
Indy 10 - Invio email con allegati
Brute force
Le permutazioni
Da DataSource a Excel
StatusBar - aggirare l'errore variabile duplicata
Visualizzare un file Html esterno
Evidenziare voci TreeView
Toolbar
Direttiva $macro
Indy gestiore server FTP lato Client
TImage su Form e Panel
PopUpMenu sotto Pulsante (TSpeedButton)
Conversione numerica
Proprietà
Funzioni a parametri variabili
Overload di funzioni
Liste e puntatori
Conferma di chiusura di un applicazione
Il file: questo sconosciuto
UIB: Unified Interbase
System Tray con Lazarus
Intercettare tasti premuti
LazReport, PDF ed immagini
Lazarus e la crittografia
Ampliare Lazarus
Generare controlli RUN-TIME
TTreeview e Menu
TTreeView
Utilizzare Unità esterne
Lavorare con le directory
Realizzare programmi multilingua
Codice di attivazione
File INI
Esempio lista in pascal
Stabilire il sistema operativo
Recuperare codice HTML da pagina web
Trascinare un file nel programma
Mandare mail con Lazarus
Welcome to Italian community of Lazarus and Free Pascal. Please login or sign up.

Recenti

How To

Utenti
Stats
  • Messaggi totali: 20.582
  • Totale discussioni: 2.471
  • Online today: 25
  • Online ever: 5.949 (Luglio 30, 2026, 09:49:59 PM)
Utenti online
  • Users: 0
  • Guests: 22
  • Total: 22
22 Visitatori, 0 Utenti

Chi rallenta l'avvio del programma?

Aperto da bonmario, Febbraio 05, 2026, 05:21:11 PM

Discussione precedente - Discussione successiva

bonmario

Ciao,
ho un progetto abbastanza grosso, che usa parecchie UNITS e componenti.
Da quando lo lancio, a quando esce il video, passano parecchi secondi.
Il mio sospetto è che ci sia la "initialization" di qualche unit che rallenti il tutto.
Sapete se c'è il modo di eseguire tutte le unit una alla volta, per capire da dove arriva questo rallentamento?

Grazie, Mario

DragoRosso

#1
Le unit vengono inizializzate internamente.
L'unico modo che penso sia valido è quello di inserire in tutte le unit la INITIALIZATION e rilevare il tempo di accesso (tipo now) e stamparlo con il nome delle unit da qualche parte).

Quando le initialization vengono chiamate scriveranno il tempo e il loro nome in sequenza ... la differenza di tempo tra due unit consecutive ti darà qualche lume.

Se non sbaglio, ci dovrebbe anche essere una variabile globale che tiene conto del tempo di esecuzione in millisecondi del programma dalla partenza. Potresti usare quello, così hai un riferimento ancora più confacente alla situazione.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

tito_livio

Secondo me quello che rallenta è la creazione delle diverse form con i componenti che ci sono dentro, in quanto di default è impostata la creazione automatica di tutte le form.
Io tramite opzioni: progetto | form metto solo due form in creazione automatica, quella di partenza ed il datamodule, le altre le sposto in "Form disponibili".
Così creo le form quando mi servono o quando lo ritengo opportuno con istruzioni del tipo:

if form2=nil then
  form2:=tform2.Create(form1);



bonmario

Grazie per le risposte, ma il problema si è "quasi" magicamente risolto da solo.
Ho appena provato a lanciare il programma in questione, e si è aperto immediatamente.
Ho scritto "quasi", perché ieri ero in ufficio, mentre oggi sono in smart working, quindi devo riverificare la cosa lunedì: non vorrei che ci fosse di mezzo qualcosa con la rete aziendale (antivirus, firewall, ecc)

Grazie a tutti, Mario

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.