Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi popupmenu item hinzufügen und onClick ereignis definieren! (https://www.delphipraxis.net/11866-popupmenu-item-hinzufuegen-und-onclick-ereignis-definieren.html)

ixtreme 15. Nov 2003 14:14


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

Luckie 15. Nov 2003 14:21

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.

ixtreme 15. Nov 2003 14:31

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

Christian Seehase 15. Nov 2003 15:00

Re: popupmenu item hinzufügen und onClick ereignis definiere
 
Moin ixtreme,

Zitat:

Zitat von ixtreme
finde nix...

wenn ich hier nach Hier im Forum suchenButton dynamisch suche, erhalte ich 20 Fundstellen und die hast Du innerhalb von 10 Minuten durchgesehen? :gruebel:

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.

ixtreme 15. Nov 2003 15:21

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...

Christian Seehase 15. Nov 2003 15:44

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:

prozedur aufruf und sender

Dann musst Du Dich nur noch entscheiden, ob die Prozeduren statisch oder dynamisch eingebunden werden.

ixtreme 15. Nov 2003 15:52

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.

Luckie 15. Nov 2003 15:57

Re: popupmenu item hinzufügen und onClick ereignis definiere
 
Zitat:

und diesen in der dll, funzt aber nicht
Ich habe mich so eben entschieden, bei solchen Fehlerbeschreibungen grundsätzlich nicht mehr zu helfen. :evil:

Christian Seehase 15. Nov 2003 16:08

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.

ixtreme 15. Nov 2003 20:07

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 01:41 Uhr.
Seite 1 von 2  1 2      

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