Re: pointer auf TButton - verständtnis problem
Zitat:
|
Re: pointer auf TButton - verständtnis problem
Ok, dann hab ich ja wieder was gelernt. Also nochmal, wenn ich einer Procedure den Sender als TObject übergebe, ist das auch ein "Pointer" ? (Weil ja TObject auch eine Klasse ist)
|
Re: pointer auf TButton - verständtnis problem
Jupp, so isses. :angel:
Du kannst (wenn du unbedingt willst) ein Objekt auch über einen Pointer ansprechen, aber dann mußt du auch einen Speicherplatz (für die Objekt-Variable) nutzen, welcher nicht gelöscht wird.
Delphi-Quellcode:
und Freigeben dann z.B. so:
type
PEButton = ^TEButton; Tabulator = record hwnd: THandle; // contains handle of a window P: PEButton; // contains pointer of the tabulator button end; ... procedure TForm1.AddTab(name: String; hwnd: THandle; FormCount: Integer); var Current: Integer; NewButton: PEButton; begin // increase pointer array SetLength(Tabs, Length(Tabs) + 1); Current := Length(Tabs)-1; // create button, positionize button New(NewButton); NewButton := TEButton.Create(Form1); NewButton.Parent := ToolBar1; NewButton.OnClick := OnTabButtonClick; Tabs[current].P := @NewButton; Tabs[current].hwnd := hwnd; end;
Delphi-Quellcode:
aber direkt über die Objektinstanz isses natürlich einfacher/schöner :angel2:
Tabs[i].P^.Free;
Dispose(Tabs[i].P); |
Re: pointer auf TButton - verständtnis problem
Zitat:
|
Re: pointer auf TButton - verständtnis problem
Danke euch allen. Das ist die Erleuchtung des Tages für mich. :stupid: ne im Ernst. Gut zu wissen.
schöner Tag noch |
Re: pointer auf TButton - verständtnis problem
Strings, dynamische Arrays und Objekte arbeiten sozusagen mit Pointern, nur daß an sich als Programmier da um nichts kümmern muß (macht Delphi automatisch).
Und bei den Funtions-Parametern, sowie noch einigen anderen Dingen, macht Delphi auch sehr viel automatisch. ich weiß ja nicht wie sehr du dich z.B. in C auskennst, aber da muß man schon recht viel selber machen. :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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