Hallo zusammen,
ich habe eine Frage zu FPC/ Lazarus allgemein.
Eine eigene Klasse von mir hat einen Konstruktor und Methoden.
Der Konstruktor wird aufgerufen und ein paar Zeilen danach auch schon Methoden auf dem Objekt.
Kann es sein, dass der Konstruktor bzw. die Initialisierung noch nicht abgeschlossen ist und trotzdem Methoden angewendet werden?
Zumindest komme ich zu dieser Erkenntnis, wenn ich entsprechende showmessage Meldungen ausgebe.
Falls die Realisierung von Objekten bzw. Methoden in FPC so implementiert ist, wie kann man die ABlaufsteuerung erzwingen, dass Methoden erst nach dem Konstruktor ausgeführt werden?
Schöne Grüße,
Chris
Methodenaufruf vor Initialisierung
Re: Methodenaufruf vor Initialisierung
Mach mal ein Beispiel.
Allgemein würde ich sagen, dass das kein Problem ist, und alles normalerweise streng sequenziell abläuft.
Aber ein paar Zeilen Code würden klarer machen, was du meinst.
Allgemein würde ich sagen, dass das kein Problem ist, und alles normalerweise streng sequenziell abläuft.
Aber ein paar Zeilen Code würden klarer machen, was du meinst.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Methodenaufruf vor Initialisierung
Wenn das Objekt und das Hauptprogramm keine Threads kreieren läuft in Lazarus alles brav hintereinander, es sei denn du ruftst "Application.ProcessMessages" auf. In diesem Call können andere Events bearbeitet werden. Sonst nicht.Chris86 hat geschrieben: Der Konstruktor wird aufgerufen und ein paar Zeilen danach auch schon Methoden auf dem Objekt.
Kann es sein, dass der Konstruktor bzw. die Initialisierung noch nicht abgeschlossen ist und trotzdem Methoden angewendet werden?
-Michael
Re: Methodenaufruf vor Initialisierung
danke für Eure Antworten.
Ich arbeite an meinem ersten Projekt und bin gestern nach 10h am Rechner etwas durcheinander gekommen. Der Fehler lag bei mir in der Erzeugung vom Objekt, naja was soll ich sagen...sehr dummer Fehler. Aber trotzdem danke für eure schnellen Antworten und Hilfsbereitschaft!
Ich arbeite an meinem ersten Projekt und bin gestern nach 10h am Rechner etwas durcheinander gekommen. Der Fehler lag bei mir in der Erzeugung vom Objekt, naja was soll ich sagen...sehr dummer Fehler. Aber trotzdem danke für eure schnellen Antworten und Hilfsbereitschaft!