![]() |
Re: Komponenten freigeben - Invalid pointer operation
Danke für den Tipp!
So werde ich das umsetzen. Gruß, Christoph |
Re: Komponenten freigeben - Invalid pointer operation
ich lasse den index [0] frei damit ich bessere übersicht habe...sollte ja nichts machen oder!?
und ja der fehler kommt auch wenn ich nichts mache beim beenden!? :wall: |
Re: Komponenten freigeben - Invalid pointer operation
Dann liegt der Fehler wo anders.
Delphi-Quellcode:
Geht wunderbar ohne Absturz beim Beenden.
procedure TForm1.Button1Click(Sender: TObject);
var edttest: TEdit; begin edtTest := TEdit.Create(self); edtTest.Parent := Form1; end; |
Re: Komponenten freigeben - Invalid pointer operation
okey! trotzdem vielen dank für eure mühe!
|
Re: Komponenten freigeben - Invalid pointer operation
Zitat:
- welchen (eindeutigen) Namen würdest Du den Buttons geben? - Wie bekomme ich am einfachsten die Activity-Instanz des gedrückten Buttons heraus? Gruß, Christoph |
Re: Komponenten freigeben - Invalid pointer operation
Zitat:
Zitat:
|
Re: Komponenten freigeben - Invalid pointer operation
Zitat:
Danke, Christoph |
Re: Komponenten freigeben - Invalid pointer operation
Delphi-Quellcode:
Procedure TFormX.ButtonXClick(Sender: TObject);
Var i: Integer; lActivity: TActivity; Begin lActivity := Nil; For i := 0 To Pred(Miniklassenlist.Count) Do If ( Miniklassenliste[i] As TMiniklasse ).Button = Sender Then Begin lActivity := ( Miniklassenliste[i] As TMiniklasse ).Activity; Break; // Weiter brauchen wir nicht zu suchen, haben es ja gefunden End; If Assigned(lActivity) Then ShowMessage('Die Activity war ' + lActivity.Blubb ); // was du auch immer von den Daten der Klasse anzeigen lassen könntest... End; |
Re: Komponenten freigeben - Invalid pointer operation
Danke!!!
|
Re: Komponenten freigeben - Invalid pointer operation
Das schaut mir verdächtig nach ner ActionList aus.
Schau mal in der IDE nach, da gibt es eine Komponente namens TActionList. In diese TActionList kannst Du TActions einfügen. Diese sind sozusagen Deine Applikationsereignisse. Hier gibt es vorgefertigte, wie FileIO, aber auch die Möglichkeit, eigene Events an die Actions zu knüpfen. Nun zu den Knöpfen. Diese haben eine Property namens Action. Falls Du eine deiner Actions in der ActionList dem Knopf zuweist, ruft dieser dann die execute-Methode dieser Action. Um die Freigabe musst Du Dich überhaupt nicht kümmern. Entweder der Knopf geht bei der Freigabe der Form flöten (vorrausgesetzt Du hast diese als Owner anggegeben) oder Du gibst ihn von Hand frei. Hier würde ich nicht empfehlen, die Knöpfe separtat nochmal zu speichern, sondern die Controls-Liste des jeweiligen Parents durchzugehen, bis der entsprechende Knopf gefunden ist und den hier freizugeben. Die Sache mit den Actions hat folgenden Vorteil: Du kannst diese Actions auch als Menü darstellen lassen bzw. die execute-Methode direkt aus dem Programm rufen. Ausserdem bietet Delphi die Möglichkeit, die Anordnung des Menüs usw. auch vom Nutzer vornehmen zu lassen und speichert diese auf Platte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr. |
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