AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Self nicht definiert nach dem Create?
Thema durchsuchen
Ansicht
Themen-Optionen

Self nicht definiert nach dem Create?

Ein Thema von looseleaf · begonnen am 2. Feb 2024 · letzter Beitrag vom 2. Feb 2024
 
looseleaf

Registriert seit: 25. Mai 2011
58 Beiträge
 
#1

Self nicht definiert nach dem Create?

  Alt 2. Feb 2024, 10:12
Liebe Gemeinde,

wir verwenden in unserem Programm immer wieder quasi-statische Execute() Methoden, um Froms zu ersellen und am Ende wieder freizugeben. Nach diesem Muster:

var MeinForm: TMeinForm;

function TMeinForm.Execute(): Boolean;
begin
Result := false;
MeinForm := TMeinForm.Create(Application);
With MeinForm do
try
// tuwas
Result := ShowModal=mrOk;
finally
Free;
end
end;


Wenn wir hier beim // tuwas auf Self referenzieren, ist das eine blöde Idee, oder? Ich glaube auch zu verstehen warum: Execute() ist hier noch keine Methode des Objekes, daher ergibt Self keinen Sinn. Was ich aber nich verstehe: Bei einem zweiten Aufruf funkioniert der Zugriff auf Self, obwohl am Ende ein Free steht. Kann mir wer auf die Sprünge helfen, warum das beim zweiten Mal geht? Und das Self zeigt lt. Debugger auch ab der Zeile mit dem .Create() auf dieselbe Adresse wie MeinForm.

Wir verwenden hier die MeinForm, dann funktioniert's wie erwartet.

Fragt bitte nicht, warum hier eine Variable verwendet wird, das ist Code von vor über 20 Jahren.

Danke
Stefan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz