![]() |
Objekt zur laufzeit
Wie ist es möglich wenn ich zur laufzeit ein objekt erstelle, ihm eine bestimmte anweisung in einem eventhandel zu übergeben???
Vielen danke... |
Re: Objekt zur laufzeit
ja
|
Re: Objekt zur laufzeit
ich habe es mit include versucht leider kann ich mit include dem ganzen keine prozedur zuweißen da kommen dann immer fehler:
[Fehler] WinForm.pas(264): E2010 Inkompatible Typen: 'EventHandler' und 'procedure, untyped pointer or untyped parameter' und mit dem button_neu.onmouseenter := prozedure; geht bei .net irgendwie net (weil ich das hier öffters gelesen habe). hier noch mal mein code bisher:
Delphi-Quellcode:
procedure TWinForm.MenuItem7_Click(sender: System.Object; e: System.EventArgs);
begin picbox := system.Windows.Forms.PictureBox.Create; picbox.Name := 'picturebox2'; picbox.Bounds := rectangle.Create(80,20,70,70); self.Controls.Add(picbox); Include(Self.Picbox.Paint, Self.grafik); Include(Self.Picbox.MouseEnter, maus_rein(x)); Include(Self.Picbox.MouseLeave, Self.PictureBox1_MouseLeave); end; |
Re: Objekt zur laufzeit
hm wenn ich das richtig verstanden hab wollt ihr ein event
mit einer event routine verbinden und das zur laufzeit und das ist eigentlich ganz billig.
Delphi-Quellcode:
kann sein das das event im object noch anders heißt ein kleines bissle.
procedure OnMouseClick(sender : System.Object; e : EventArgs);
//und jetzt irgentwo Include(MyObject.OnClick, OnMouseClick); //fertisch bei gordon2001 sieht es so aus als ob die Routine die er dem event zuweisen will nicht die benötigte form hat. kukt einfach in der hilfe nach wie die event routinen aussehen welche parameter sie haben usw |
Re: Objekt zur laufzeit
Hallo :hi:
Delphi-Quellcode:
Der neue Eventhandler sollte die gleichen Parameter haben wie der Alte und bei der Zuweisung werden diese weggelassen. :)
private
procedure MyClick(Sender: TObject); ... procedure TForm1.MyClick(Sender: TObject); begin ShowMessage('Hallo Welt!'); end; ... Button1.OnClick := MyClick; MfG freak |
Re: Objekt zur laufzeit
äm freak das ist ein .NET thema
und da gibts 2 parameter (sender : System.Object; e :Eventargs) |
Re: Objekt zur laufzeit
Soderle
Delphi-Quellcode:
gruß dat Tala
procedure TRasse.Erstelle_Etwas_Jetzt_und_nicht_Frueher(sender: System.Object; e: System.EventArgs);
var b : button; i : integer; begin b:= System.Windows.Forms.Button.Create; b.Location := System.Drawing.Point.Create(20, (convert.ToInt32(self.Tag) * 20)); b.Height := 20; b.Width := 100; b.text := 'MyButton1'; Include(b.Click, Erstelle_Etwas_Jetzt_und_nicht_Frueher); self.Tag := convert.ToInt32(self.Tag)+1; Self.Controls.Add(B); end; |
Re: Objekt zur laufzeit
und das .tag steht jetzt wo für, aber danke erstmal... :-D
|
Re: Objekt zur laufzeit
.tag ist selbe wie form.tag. Also nix besonderes. Tag ist jedoch bei .Net in Gegensatz zu Win32 ein Objekt. Daher muß man hier konvertieren. Das Tag ist nur eingefügt und schnell und easy einen Variblen wert zu haben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 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 by Thomas Breitkreuz