![]() |
popupmenu item hinzufügen und onClick ereignis definieren!
hi,
ich weiß, sowas wurde hier schon mal gestellt. habe aber bis jetzt nichts passendes gefunden... ich brauche ein popupmenu das dynamisch eingebunden wird und dynamisch eine onclickprocedure für einen eintrag bekommen muss... beide daten, für caption und onClick sollen aus einer dll geholt werden... jemand nen ansatz? gruß ixtreme.de P.S. auch antworten wenns ohne dll beschreibung ist |
Re: popupmenu item hinzufügen und onClick ereignis definiere
Such mal danach wie man einen Button dynamisch erzeugt. Geht entsprechend mit dem Menü.
Da das wohl eine Plugin Scxhnittstelle werden soll, such auch mal nacvh Plugin. |
Re: popupmenu item hinzufügen und onClick ereignis definiere
finde nix...wobei die procedure ja auch dynamisch ist...das erzeugen des popupmenus ist also kein problem mehr...
gruß ixtreme.de |
Re: popupmenu item hinzufügen und onClick ereignis definiere
Moin ixtreme,
Zitat:
![]() Dynamisch erzeugen, kannst Du die Prozedur nicht, nur eine bestehende Zuweisen, in der Du dann z.B. auch eine Funktion aus einer DLL aufrufen kannst. |
Re: popupmenu item hinzufügen und onClick ereignis definiere
ja klar, bin doch ein ganz schneller..
aber dann sag mir bitte einer wie ich eine procedure in einer dll deklarieren muss, damit ich sie einem item eines popupmenus hinzufügen kann... |
Re: popupmenu item hinzufügen und onClick ereignis definiere
Moin ixtreme,
Du solltest sie einfach so aufbauen wie ein TNotifyEvent. Hier gibt's noch näheres dazu, wie der Header aufgebaut sein muss: ![]() Dann musst Du Dich nur noch entscheiden, ob die Prozeduren statisch oder dynamisch eingebunden werden. |
Re: popupmenu item hinzufügen und onClick ereignis definiere
Ok, ich habe jetzt folgenden Code in der Hauptanwendung:
Code:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, Menus; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; CheckListBox1: TCheckListBox; Button2: TButton; Button3: TButton; Button4: TButton; PopupMenu1: TPopupMenu; Beenden1: TMenuItem; procedure Beenden1Click(Sender: TObject); procedure xy1Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure klickmich(sender:tObject)stdcall; external 'project2.dll'; procedure TForm1.Beenden1Click(Sender: TObject); begin Close; end; procedure TForm1.Button4Click(Sender: TObject); var menu : TMenuItem; begin menu := TMenuItem.Create(self); menu.Caption := '123'; menu.OnClick := Klickmich; form1.popupmenu1.Items.Add(menu); end; end. und diesen in der dll, funzt aber nicht, wieso? hab da noch nicht so viel ahnung von!
Code:
library Project2;
{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } uses sharemem, SysUtils, Classes, idhttp,shellapi, windows; {$R *.res} procedure Klickmich(Sender: TObject); begin hallo123; end; exports klickmich; begin end. |
Re: popupmenu item hinzufügen und onClick ereignis definiere
Zitat:
|
Re: popupmenu item hinzufügen und onClick ereignis definiere
Moin ixtreme,
lies Dir bitte mal den von mir genannten Thread genau durch. Dann müsstest Du den Fehler finden. |
Re: popupmenu item hinzufügen und onClick ereignis definiere
sorry, ich komm nicht auf den fehler!
wer kann mir helfen? gruß ixtreme.de |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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