Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie dll compilieren

  Alt 12. Dez 2013, 19:31
Delphi-Quellcode:
   aDLLForm:=aDLLForm.Create(Application); // <<<<<<<
   Try
      aDLLForm.ShowModal;
   Finally
      aDLLForm.Release;
   End;
Das ist nicht fehlerhast, weil es in einer DLL steht.
Das ist auch schon in einer EXE falsch.

Variable := Klasse.Create(Owner);

Man "kann" den Constructor zwar auch über eine Variable aufrufen, aber nur, wenn vorher der Objekt-Speicher reserviert und initialisiert wurde.


Und der Owner ist nicht wichtig, da die Klasse eh sofort wieder freigegeben wird. (der Owner ist sozusagen also schon das try-finally)

Release sendet nur eine Message an die Forms (PostMessage), welche dann irgendwann später verarbeitet wird.
PS: Auf soeine Weise wurde bei uns letztens mal ein ShowMessage in den Jordan gerissen.
Die eine modale Form wurde via ModalResult "geschlossen", danach wurde direkt eine MessageBox angezeigt.
Diese MessageBox hing sich an die ActiveForm, welche "noch" die modale Form war, da sie nicht "sofort" geschlossen wurde.
Viele Codezeilen später kam die GUI dann dazu die Schließen-Message zu verarbeiten, gab die Form frei und nahm dabei die angehängte MessageBox mit.
(FastReport ist teilweise schon ein echt krankes Teil)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat