Il progetto che sto riscrivendo in Lazarus si avvia con la Form1 (automatica).
Durante la procedura TForm1.FormCreate svolgo 2 operazioni dibase:
- salvataggio database SQLite3 su file di copia
- chiamata di Form5.ShowModal
Io vorrei che la Form1 si aprisse a video prima di qualsiasi altra finestra, come le ShowMessage e la stessa Form5, tutte chiamate durante l'esecuzione della TForm1.FormCreate.
Ieri ho cercato in tutti i modi una soluzione con le mie modeste conoscenze, ma non ho ricavato un bel niente.
Stamattina ho creato una Form6 con avvio automatico, successivamente alla Form1. Ho spostato le istruzioni dalla TForm1.FormCreate alla TForm6.FormCreate ottenendo quindi:
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm6.FormCreate(Sender: TObject);
var
totRecQry: Integer;
msgErro: String;
begin
Form1.Top:= 0;
Form1.Left:= 0;
Form1.Width:= screen.width;
Form1.Height:= screen.Height;
Form1.Show;
// dbCorr:= dbOrig;
dbCorr:= dbProve; // Riga da attivare soltanto a fine prove
if not FileExists(dbOrig) then // l'ASSENZA del file ContabFamdb, potrebbe significare che il programma stia lavorando per la prima volta e bisogna dare vita al DB
begin
ShowMessage('DB ' + dbOrig + ' INESISTENTE - il Programma verra'' chiuso');
Halt; // Halt interrompe BRUTALMENTE l'esecuzione del programma e restituisce il controllo al chiamante
end;
...
Application.CreateForm(TForm5, Form5); // apre la Form5 - Verifica presenza Tabelle disordinate
Form5.ShowModal;
Form5.Free;
Close;
In questo modo, all'avvio del progetto, si avviano nell'ordine:
Form1
Form6
Form5
Così riesco ad ottenere le sovrapposizioni di immagini come desideravo.
Allego le immagini in ordine di sequenza, per rendervi edotti concretamente sul mio pensiero.
La tecnica, come potette notare ha funzionato, ma non so se il mio modo di procedere, rientri nella corretta logica degli strumenti disponibili per Lazarus e Free Pascal.