[geklärt] Fragen zur Nutzung von Methode free

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Fragen zur Nutzung von Befehl free

Beitrag von Erwin »

Um irgendwie dennoch weiter zu kommen, wollte ich mit der Vorlage hier ein wenig üben:
Mathias hat geschrieben:

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
var
  bt: TButton;
begin
  bt := TButton.Create(nil);
  bt.Parent := self;
end;

Da taucht Parent auf. Da ich ungern Befehle nutze, die ich nicht kenne, schaute ich in meinen 2 Bücher über Lazaraus nach. Bzw. 'Larzarus' und 'Free Pascal 2'. In keinem der Bücher steht der Befehl. Oder ist es Methode? Funktion? Jedenfalls steht es nicht im Stichwortverzeichnis. ... ? Das ist alles sehr Frustrierend. Und wenn was dort stünde, dann wahrscheinlich wieder mit so viel Fachbegriffen, das ich eh nichts mehr verstehe. Und wenn ich die Fachbegriffe Verstehen würde, wüsste ich vermutlich eh bereits, was es mit Parent auf sich hat. Scheinbar sind die Beiden nichts anders als Bücher zum Nachschlagen für Experten.
Lazarus 2.2.0 / FP 3.2.4

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Fragen zur Nutzung von Befehl free

Beitrag von m.fuchs »

Erwin hat geschrieben:

Code: Alles auswählen

 
  bt.Parent := self;
 

Da taucht Parent auf. Da ich ungern Befehle nutze, die ich nicht kenne, schaute ich in meinen 2 Bücher über Lazaraus nach. Bzw. 'Larzarus' und 'Free Pascal 2'. In keinem der Bücher steht der Befehl. Oder ist es Methode? Funktion?

Sorry, das wird jetzt etwas hart klingen. Du siehst hinter dem Parent ein :=. Wenn du die Grundlagen von Pascal kennen würdest, dann wäre dir klar dass es weder eine Funktion/Methode oder ein Befehl wäre. Sondern dass dort eine Zuweisung erfolgt. Auch wenn du noch keinerlei Ahnung von OOP hättest, solltest du dort maximal eine Variable (oder eben in diesem Fall eine Property) vermuten. Ich denke doch, dass du noch mal ein Stückchen weiter vorne bei Pascal-Grundlagen anfangen solltest.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Fragen zur Nutzung von Befehl free

Beitrag von Erwin »

m.fuchs hat geschrieben:
Erwin hat geschrieben:

Code: Alles auswählen

 
  bt.Parent := self;
 

Da taucht Parent auf. Da ich ungern Befehle nutze, die ich nicht kenne, schaute ich in meinen 2 Bücher über Lazaraus nach. Bzw. 'Larzarus' und 'Free Pascal 2'. In keinem der Bücher steht der Befehl. Oder ist es Methode? Funktion?

Sorry, das wird jetzt etwas hart klingen. Du siehst hinter dem Parent ein :=. Wenn du die Grundlagen von Pascal kennen würdest, dann wäre dir klar dass es weder eine Funktion/Methode oder ein Befehl wäre. Sondern dass dort eine Zuweisung erfolgt. Auch wenn du noch keinerlei Ahnung von OOP hättest, solltest du dort maximal eine Variable (oder eben in diesem Fall eine Property) vermuten. Ich denke doch, dass du noch mal ein Stückchen weiter vorne bei Pascal-Grundlagen anfangen solltest.

Das kapier ich nicht. Der Vorgang ist also eine Zuweisung? Ok, das war mir aber klar, auch wenn ich das nicht extra erwähnt habe.
Und was ist mit meiner Frage?
Was ist Parent?
Ist es eine Variable, ein Array, ein Objekt gar?
Wofür wird es eingesetzt? Als Schleife? Als IF? Für Funktionen?
Was kann man zuweisen? Zahlen? String? Objekte? Funktionen?

Deine Antwort fällt diesmal genau so aus, wie die in meinen Bücher:: Es wird gesagt, wie es richtig heißt. Aber wozu es gut sein soll, was es kann, worauf man achten soll, darüber schweigt es.
Lazarus 2.2.0 / FP 3.2.4

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Fragen zur Nutzung von Befehl free

Beitrag von m.fuchs »

Erwin hat geschrieben:Deine Antwort fällt diesmal genau so aus, wie die in meinen Bücher:: Es wird gesagt, wie es richtig heißt. Aber wozu es gut sein soll, was es kann, worauf man achten soll, darüber schweigt es.

Sorry, aber wenn du eine Zuweisung nicht erkennst und was soll es dir dann helfen wenn wir dir die Einzelheiten der LCL erklären und wie man händisch Objekte erzeugt?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: Fragen zur Nutzung von Befehl free

Beitrag von Erwin »

m.fuchs hat geschrieben:
Erwin hat geschrieben:Deine Antwort fällt diesmal genau so aus, wie die in meinen Bücher:: Es wird gesagt, wie es richtig heißt. Aber wozu es gut sein soll, was es kann, worauf man achten soll, darüber schweigt es.

Sorry, aber wenn du eine Zuweisung nicht erkennst und was soll es dir dann helfen wenn wir dir die Einzelheiten der LCL erklären und wie man händisch Objekte erzeugt?

Jetzt bin ich schwer enttäuscht von Dir. Ich habe bereits vorher klar gestellt, dass mir durchaus klar war, dass es eine Zuweisung ist. Dennoch unterstellst mir, dass ich das nicht erkannt hätte.
Und meine Fragen ignoriert Du auch weiter hin.
Wenn Du es nicht erklären kannst, oder selber nicht mal weißt, worum es da wirklich geht, dann lass es halt bleiben.
Lazarus 2.2.0 / FP 3.2.4

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: Fragen zur Nutzung von Befehl free

Beitrag von Thandor »

Code: Alles auswählen

 
  bt.Parent := self;
 

Diese Zeile sagt nixt anderes, das der Button "bt" ein Kind von der Form "Form1" ist. Form1 ist also das Elternelement (Parent) von dem Button "bt". Und sagt letztendlich aus, das der Button "bt" abhängig von der Form "Form1" ist. Mit dieser Abhängigkeit stirbt auch der Button "bt", wenn die Form "Form1" stribt (also destroyt wird).

Anmerkungen des Moderators: Fehlinformation gestrichen, damit keine Verwirrung aufkommt.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Fragen zur Nutzung von Befehl free

Beitrag von m.fuchs »

Erwin hat geschrieben:Jetzt bin ich schwer enttäuscht von Dir. Ich habe bereits vorher klar gestellt, dass mir durchaus klar war, dass es eine Zuweisung ist. Dennoch unterstellst mir, dass ich das nicht erkannt hätte.

Du hast es nicht erkannt, denn sonst hättest du nicht etwas von Methoden und Befehlen geschrieben. Das ist auch nicht schlimm, wenn du das noch nicht weißt. Aber es sagt mir, dass du mit weiterführenden Informationen auch noch nichts anfangen kannst.

Erwin hat geschrieben:Und meine Fragen ignoriert Du auch weiter hin.
Wenn Du es nicht erklären kannst, oder selber nicht mal weißt, worum es da wirklich geht, dann lass es halt bleiben.

Hast du denn schon mal die Onlinehilfe genutzt oder nach Lazarus und Parent gesucht? Hast du den Text nicht verstanden und hast jetzt eine weiterführende Frage?
Ich habe irgendwie das Gefühl, du möchtest alles vorgekaut bekommen, hast aber wenig Lust dich mit Hintergrundwissen zu beschäftigen. Dann werden die Antworten natürlich auch nicht detailliert ausfallen.
Vielleicht täusche ich mich ja auch.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Fragen zur Nutzung von Befehl free

Beitrag von m.fuchs »

Thandor hat geschrieben:

Code: Alles auswählen

 
  bt.Parent := self;
 

Diese Zeile sagt nixt anderes, das der Button "bt" ein Kind von der Form "Form1" ist. Form1 ist also das Elternelement (Parent) von dem Button "bt". Und sagt letztendlich aus, das der Button "bt" abhängig von der Form "Form1" ist. Mit dieser Abhängigkeit stirbt auch der Button "bt", wenn die Form "Form1" stribt (also destroyt wird).


Völlig falsch, du verwechselst Parent mit Owner. Das sind zwei verschiedene Dinge.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: [geklärt] Fragen zur Nutzung von Methode free

Beitrag von Thandor »

Oh ja sorry hast natürlich recht.

Antworten