Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Panel mit Label dynamisch erzeugen (https://www.delphipraxis.net/153305-panel-mit-label-dynamisch-erzeugen.html)

DeddyH 12. Aug 2010 09:37

AW: Panel mit Label dynamisch erzeugen
 
Die sollten ja auch vom Owner freigegeben werden, oder hab ich was übersehen?

himitsu 12. Aug 2010 09:42

AW: Panel mit Label dynamisch erzeugen
 
Zitat:

Zitat von DeddyH (Beitrag 1041466)
Die sollten ja auch vom Owner freigegeben werden, oder hab ich was übersehen?

Jupp, aber dennoch ist es, wärend der Existenz des Owners, bzw. wärend das Programm läuft, ein "Speicherleck", auch wenn es dann "zu spät" gschlossen wird.
Und genau das ist auch der Grund, warum FastMM dieses niemals mitbekommt.
z.B. in einen Timer ist sowas nicht sehr optimal untergebracht.

DeddyH 12. Aug 2010 09:44

AW: Panel mit Label dynamisch erzeugen
 
Immerhin werden die ja noch beseitigt (wenn auch spät). Mir geht es darum, aufzuspüren, welche Objekte auch nach Programmende noch im Speicher kleben, weil ich irgendwo eine Freigabe übersehen habe.

mkinzler 12. Aug 2010 09:50

AW: Panel mit Label dynamisch erzeugen
 
Das kann man umgehen, wenn man den richtigen Owner setzt.

DeddyH 12. Aug 2010 09:54

AW: Panel mit Label dynamisch erzeugen
 
Ich rede jetzt nicht unbedingt von Komponenten, meine Klassen haben ja nicht zwangsgerade einen Owner.

mkinzler 12. Aug 2010 09:57

AW: Panel mit Label dynamisch erzeugen
 
Hier geht es aber um welche :zwinker:.
Sonst würde man ja eher eine besitzende Obejktliste verwenden

DeddyH 12. Aug 2010 09:58

AW: Panel mit Label dynamisch erzeugen
 
OK, wir schweifen langsam ab. Ich wollte ja nur mal FastMM in den Raum werfen :zwinker:

himitsu 12. Aug 2010 10:40

AW: Panel mit Label dynamisch erzeugen
 
@
Zitat:

Zitat von DeddyH (Beitrag 1041471)
Mir geht es darum, aufzuspüren, welche Objekte auch nach Programmende noch im Speicher kleben, weil ich irgendwo eine Freigabe übersehen habe.

Wozu? Windows räumt dann doch eh alles auf. :zwinker:

Für mich ist es egal wann ein "Speicherleck" existiert, denn es können Beide arge Probleme bereiten.

Und abgesehn davon könntest du deinen Klassen doch einen Owner mitgeben ... [sarkasmus] dann brauchst'e dich niewieder um Speicherlecks zu sorgen und diese selber abschaffen [/sarkasmus].

hans ditter 14. Aug 2010 12:03

AW: Panel mit Label dynamisch erzeugen
 
also, erstmal vielen Dank, dass mit der Parenteigenschaft probier ich mal aus.
Ich hätte aber gleich nochmal eine Frage. Das Programm braucht zwei Forms. Also einmal zeigt es dein Kontostand, und einmal deine Arbeitstzeit(ganz einfach gesagt). Beides soll sozusagen als Hauptfenster erscheinen. Da ich nichts gefunden hab, wie man die Hauptform eines Projekts ändern kann, dachte ich mir, ich mach die Hauptform (Form1) einfach unsichtbar und zeige dann die 2. Form an. Wenn ich jetzt aber zurück auf Form1 gehen möchte, soll ja Form2 geschlossen werden.
Und hier kommt mein Problem: Ich möchte dem Nutzer aber auch die Möglichkeit lassen, das Programm mit der x-Taste in Form2 zu beenden.
Da hab ich jetzt einfach vollgendes geschrieben:
Delphi-Quellcode:
procedure TForm2.Close;
begin
Form1.Visible;
Form1.Close;
end;
Allerdings wird Form2 ja auch geschlossen, wenn man die Ansicht wieder auf Form1 setzt. In diesem Fall wird Form2 geschlossen, und damit auch zwangsweise Form1.
Wie kann ich das umgehen? Also wie unterscheide ich, ob jemand auf Ansicht wechseln klickt oder auf das Kreuz oben?

Vielen Dank für die große Hilfe,
hans ditter

P.S.: Übrigens, die OT-Diskussion war sehr interessant :zwinker:, da muss ich nämlich wirklich nochmal nachprüfen... :D

DeddyH 14. Aug 2010 12:10

AW: Panel mit Label dynamisch erzeugen
 
Zitat:

Zitat von hans ditter (Beitrag 1042110)
Da ich nichts gefunden hab, wie man die Hauptform eines Projekts ändern kann, ...

Einfach in den Projektoptionen oder direkt im Projektquelltext das gewünschte Formular an die erste Stelle der Erstellungsreihenfolge setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.
Seite 4 von 6   « Erste     234 56      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz