wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von niederrheiner »

Hallo an Alle,
gibt es irgendwo im Netz Hinweise, bzw. Literatur zur obigen Frage? Wenn ja, könnt Ihr mir die entsprechenden Links nennen?

Bis dann ...
MfG
Günter

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von MAC »

Weis genau meinst du mit beim Aufrug einer Form ???

Es ist ganz einfach das selber rauszufinden:
1. Leeres Projekt.
2. Listbox auf die Form setzen
3. Jedes Ereignis von Form1 erstellen...
Und dort dann Listbox1.Items.Add('OnActivate)';
bzw
Und dort dann Listbox1.Items.Add('OnChangeBounds)';
bzq
Und dort dann Listbox1.Items.Add('OnClick)';
bzw
...
...
...

schreiben.
Ist ein bisschen Arbeit aber danach weist du es ganz genau.

Code: Alles auswählen

Signatur := nil;

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von u-boot »

Eine andere Möglichkeit ist, das ganze im Sourcecode nachzulesen. :)

Falls du irgendwo einen konkreten Problemfall hast, wäre es wahrscheinlich einfacher auf das Beispiel einzugehen.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

noenglish
Beiträge: 36
Registriert: Di 4. Mai 2010, 09:14
OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4

Re: wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von noenglish »

Eine weitere Möglichkeit ist die Ausgabe auf der Konsole.
Vorgehensweise:
1. die Unit LCLProc im uses Abschnitt einbinden.
2. Menüleiste: Projekt/Projekteinstellungen aufrufen, Compilereinstellungen/Linken anklicken, das Schaltkästchen Win32-GUI-Anwendung (-WG) deaktivieren.

Jetzt kannst Du mit DebugLn('Dein Text'+ ', vielleicht noch ein Integer: '+IntToStr(i)); auf die Konsole schreiben.
Dies ist eine sehr gute Methode um ein Programm zu Testen.
MfG
noenglish

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von theo »

noenglish hat geschrieben:.
Jetzt kannst Du mit DebugLn('Dein Text'+ ', vielleicht noch ein Integer: '+IntToStr(i)); auf die Konsole schreiben.
Noch praktischer ist das alte writeln, damit braucht man keine Umwandlungen machen.
z.B:
writeln('test',3,34.4,WindowState);

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: wie ist die Reihenfolger der Ereignise bei Aufruf einer Form

Beitrag von Socke »

theo hat geschrieben:
noenglish hat geschrieben:.
Jetzt kannst Du mit DebugLn('Dein Text'+ ', vielleicht noch ein Integer: '+IntToStr(i)); auf die Konsole schreiben.
Noch praktischer ist das alte writeln, damit braucht man keine Umwandlungen machen.
z.B:
writeln('test',3,34.4,WindowState);
DebugLn() hat den Vorteil, dass es immer funktioniert (WriteLn() erzeugt einen Fehler, wenn der oben genannte Schalter aktiv ist) und dass man die Ausgabe auch in eine Datei umleiten kann (wenn man denn will).
Außerdem bietet die Unit LCLProc (und andere) noch weitere Hilfsfunktionen an, mit der man das Umwandeln ebenfalls recht kurz fassen kann (dbgsname() für den Namen von Objekten/Klassen und dbgs() als universelle Funktion um diverse Typen in einen String zu wandeln).

Code: Alles auswählen

DebugLn('Form %s, WindowStyle %s', [dbgsname(self), dbgs(self.windowstyle)]);// DebugLn() ruft Format() auf
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten