Anfangshürden

Für Fragen von Einsteigern und Programmieranfängern...
AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Anfangshürden

Beitrag von AlterMann »

shokwave hat geschrieben:Ich kann's leider nicht nachvollziehen. Hab's grad auf WinXP Prof. mit Laz 0.9.28.2/fpc 2.2.4 und Win7 Laz 0.9.29(r23075)/fpc 2.5.1 probiert. Es läuft auf beiden Systemen fehlerfrei.


Ich habe mir erlaubt das ganze Projektverzeichnis upzuloaden (http://www.filefactory.com/file/a11aeg3/n/TK.zip)

Vielleicht hat jemand Zeit und Muße sich das anzusehen.
Einfach ausführen und zweimal auf "Neu Anlegen" klicken.
Beim erstenmal erscheint Neues Produkt im rechten Fenster.
Beim zweitenmal kommt die Meldung, daß es bereits vorhanden ist und der Eintrag "Neues Produkt" vom ersten Mal verschwindet wieder.

Kommentiert man die Zeile mit ShowMessage aus funktioniert alles wie es sein soll.
Früher war alles besser. Und aus Holz!

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Anfangshürden

Beitrag von shokwave »

Das Problem liegt an einer andern Stelle. Das Ereignis OnActivate wird jedesmal aufgerufen, wenn die Form den Fokus erhält. In deinem Fall, nachdem ihn die Meldung von ShowMessage hatte. Verlagere einfach die Ladeprozeduren in das Ereignis OnCreate.
mfg Ingo

AlterMann
Beiträge: 233
Registriert: So 13. Dez 2009, 09:43
OS, Lazarus, FPC: Lazarus 3.0 (rev lazarus_3_0) FPC 3.2.2 i386-win32-win32/win64
CPU-Target: x86 64Bit
Wohnort: Niederösterreich

Re: Anfangshürden

Beitrag von AlterMann »

shokwave hat geschrieben:Das Problem liegt an einer andern Stelle. Das Ereignis OnActivate wird jedesmal aufgerufen, wenn die Form den Fokus erhält. In deinem Fall, nachdem ihn die Meldung von ShowMessage hatte. Verlagere einfach die Ladeprozeduren in das Ereignis OnCreate.


Das ist eine sehr kluge Äußerung. :!:
Vielen Dank für Deine Mühe.
Früher war alles besser. Und aus Holz!

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Anfangshürden

Beitrag von af0815 »

Ich bevorzuge nicht die 'OnCreate' sonden für solche Initialisierung die 'OnActivate' allerdings verwende ich eine Objektglobale Variable um zu sehen ob ich beim ersten 'activate' bin oder nicht.
Mein Vorteil dabei ist, das die Initialisierung des Forms sicher bereits in allen Teilen gelaufen ist und ich daher sicher mit allen Komponenten am Form kommunizieren kann.

Hier geht es aber schon um 'Geschmäcker'.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: Anfangshürden

Beitrag von DiBo33 »

Ich bevorzuge nicht die 'OnCreate' sonden für solche Initialisierung die 'OnActivate' allerdings verwende ich eine Objektglobale Variable um zu sehen ob ich beim ersten 'activate' bin oder nicht.


Ich nutze ebenfalls das OnActivate, da ich die Initialisierung nur einmal benötige, setze ich innerhalb von OnActivate einfach

Code: Alles auswählen

OnActivate := nil;

Antworten