![]() |
new.item.Onclick verzweiflung
Hallo zusammen,
ich komm hier einfach nicht weiter. Hab schon auf zig seiten(auf hier) verschiedene lösungen gefunden, aber nichts funktioniert. hier mein problem; ich erstelle aus eine datenbank menüeinträge:
Delphi-Quellcode:
bei onclick soll eine variable weitergegeben werden an folgende procedure
bilder.First;
while not bilder.eof do begin NewItem := TMenuItem.Create(Self); NewItem.Caption :=bilderbeschreibung.asstring; newItem.onClick:= untere procedur übergabe der variable 'weg'; mbilder.add(NewItem); bilder.Next; end;
Delphi-Quellcode:
procedure TForm1.bilderklick(sender: TObject; weg:string);
begin if sender = TMainMenu ShellExecute(Application.Handle,'OPEN',PCHar('http://www....index.php?weg='+weg),nil,nil,sw_ShowNormal); end; ich habe irgendwo was von tnotifyevent gelesen weiß aber nicht wo genau was hin kommt z.b. procedure bilderklick(Sender: TObject; weg:string); hier kann mir bestimmt jemand weiterhelfen. :-) schon mal besten dank [edit=MrSpock]Delphi Tags eingefügt. Mfg, MrSpock[/edit] |
Re: new.item.Onclick verzweiflung
das geht so nicht! oder du musst dir deine eigene menuitem klasse ableiten und das entsprechende onklick ereignis abändern!
es gibt aber die möglichkeit irgendwie strings im tag zu speichern, schau mal bei den schweitzern! |
Re: new.item.Onclick verzweiflung
mh. nix verstanden.
was heißt menuitem klasse ableiten ? die einträge im menü änder ich doch in einer mysqldatenbank. wäre die konstant wäre das kein thema |
Re: new.item.Onclick verzweiflung
Hallo tom,
du kannst dem OnKlick Event nur eine Methode zuweisen, die die vordefinierten Parameter nutzt. Also hier nur Sender: TObject. Wenn du also zusätzlich den Parameter Weg benötigst, kannst du das entweder über eine globale Variable machen oder aber in dem du ein eigenes Objekt von TObject ableitest, dass die Eigenschaft "Weg" hat. Dann kannst du z.B. so auf den Wert zugreifen:
Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
begin if Sender is myObjectMitWeg then ShellExecute(Application.Handle,'OPEN',PCHar('http://www....index.php?weg=' +(Sender as myObjectMitWeg).Weg),nil,nil,sw_ShowNormal); end; |
Re: new.item.Onclick verzweiflung
das ist ja grad das problem. die variable weg würde dann nicht ausgelesen, bzw. nicht gespeichert.
die einfachste möglichkeit-fällt mir grad so ein- wäre die datenbank noch mal zu öffnen nach der beschriebung zu suchen und dann den wert weg ausgeben. das sollte eigentlich funzen. aber ist das elegant???? |
Re: new.item.Onclick verzweiflung
Hallo tom,
mir ist noch nicht klar, wo der "Weg" denn herkommt? |
Re: new.item.Onclick verzweiflung
ich habe eine mysql-datenbank
dort gibt es die felder beschreibung und weg. weg gibt ein verzeichnis an, in dem die bilder gepsichert liegen. |
Re: new.item.Onclick verzweiflung
Möglichkeit (od. über andere Variable)
Delphi-Quellcode:
..
while not bilder.eof do begin .. newItem.onClick:= bilderklick; NewItem.Hint := weg; .. end;
Delphi-Quellcode:
procedure TForm1.bilderklick(sender: TObject);
... weg := TMenuItem(Sender).Hint |
Re: new.item.Onclick verzweiflung
Ja, das ist ja super!!!!!
Besten dank!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 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