![]() |
TImage während Laufzeit erzeugen
Hallo,
ich bin echt verzweifelt. Ich habe ein Programm mit 2 Buttons, der 1. Button erzeugt einen anderen ( das funktioniert) und der 2. Button sollte ein Bild erzeugen(funktioniert noch nicht) Wie mache ich das? Habe mich schon belesen, aber es hat nicht funktioniert.
Code:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Bild : TImage; Button3:TButton; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Button3 := TButton.Create(Form1); Button3.Parent:=self; Button3.Name := 'Button3'; Button3.Enabled := true; Button3.Top := 50; Button3.Left := 50; Button3.Caption := 'Button3'; end; procedure TForm1.Button2Click(Sender: TObject); begin Bild:= Timage.create(Form1); Bild.Parent:= self; Bild.Left:=1; Bild.Top:=1; Bild.visible:=true; Bild.picture.LoadFromFile('Bilde.bmp'); Bild.autosize:=true; showmessage('Bild'); end; end. Könntet ihr mir bitte helfen. |
AW: TImage während Laufzeit erzeugen
Hallo,
du könntest dem Button2 noch ein onClick Ereignis spendieren.
Delphi-Quellcode:
Grüße
Button2.onClick := Button2Click;
Klaus |
AW: TImage während Laufzeit erzeugen
Du meinst, das ich dem erzeugten Button ein OnClick-Ereignis spendieren soll?
|
AW: TImage während Laufzeit erzeugen
Zitat:
Grüße Klaus |
AW: TImage während Laufzeit erzeugen
naja, eigentlich wollte ich wissen wie ich das Bild während der Laufzeit erstelle. Aber danke für den Hinweiß mit dem OnClick-Ereignis.
|
AW: TImage während Laufzeit erzeugen
Delphi-Quellcode:
Und dann mal auf den Button klicken ;)
Button3.OnClick := Button2Click;
|
AW: TImage während Laufzeit erzeugen
Könnte mir bitte jemand erklären, wie ich ein Image während der Laufzeit erzeuge und ein Bild da rein lade.
Mentos56 |
AW: TImage während Laufzeit erzeugen
Was gefällt Dir denn an Deinem eigenen Code nicht?
|
AW: TImage während Laufzeit erzeugen
Wenn ich auf den Button 2 klicke erscheint das Bild nicht.
|
AW: TImage während Laufzeit erzeugen
Zitat:
|
AW: TImage während Laufzeit erzeugen
Nein, wenn ich den Button klicke passiert gar nichts.
Mentos56 |
AW: TImage während Laufzeit erzeugen
Das OnClick hast Du aber zugewiesen?
|
AW: TImage während Laufzeit erzeugen
Ohh, das hatte ich aus irgendeinem Grund vergessen. Vielen Dank für die schnelle Hilfe.
Mentos56 |
AW: TImage während Laufzeit erzeugen
Und wie mache ich, dass das der Speicherplatz des Objektes beim Löschen wieder freigegeben wird?
|
AW: TImage während Laufzeit erzeugen
Da Form1 der Besitzer der Komponenten ist, erledigt er das für dich, wenn er freigegegen wird.
Ich habe mir aber angewöhnt alle selbst erzeugten Objekt auch selbst wieder freizugeben. Ich habe deshalb kaum mit Speicherlecks zu kämpfen. Deshalb einfach
Delphi-Quellcode:
bzw.
Bild.Free
Delphi-Quellcode:
an geeigneter Stelle aufrufen. Spätestes im
Button3.Free
Delphi-Quellcode:
.
TForm1.FormDestroy
Gruß Klaus |
AW: TImage während Laufzeit erzeugen
Zitat:
Wenn ich die Verwaltung eines Objekts delegiere (Owner bei Components oder bei Listen OwnsObjects), dann sollte man die Freigabe nur in Ausnahmefällen selber vornehmen (gerade bei Listen mit OwnsObjects kann das zu Exceptions führen) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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