![]() |
GUI per DLL
Hi,
ich versuche z.Z. eine kleine GUI für eine andere programmiersprache zu schreiben. Dabei habe ich mir gedacht einfach die Delphibefehle in eine DLL zu schreiben und dann einzusetzen. Bis jetzt habe ich mit der Hilfe geschaft eine DLL zu machen womit man ein Form erstellen kann. Doch da ein Form leider nicht reicht, möchte ich gerne noch ein paar Buttons und so rein haben. Jetzt meine Frage. Wie lauten die Befehle zum erstellen eines buttons oder einer Memo? Oder gibt es vielleicht sogar eine Sektion in der Hilfe die ich noch nicht gesehen habe wo alle Befehle aufgelistet sind? Hier mal mein derzeitiger code der in der dll steht.
Delphi-Quellcode:
Mfg
library Project2;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; procedure DLLFormShow; var Form: Tform; begin Application.CreateForm(Tform, form); Form.Show; end; exports DLLFormShow; {$R *.res} begin end. |
Re: GUI per DLL
Einen Button erstellst du so:
Delphi-Quellcode:
Button:TButton;
Button:=TButton.Create(Form); |
Re: GUI per DLL
Delphi-Quellcode:
MfG NEW32!
...
var button1:Tbutton; ... button1:=Tbutton.create(form); button1.parent:=form; button1.show; ... |
Re: GUI per DLL
Code:
library Project2;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; var Form: TForm; Button: TButton; Memo: TMemo; procedure DLLFormShow; stdcall; begin Form := TForm.Create(nil); Memo := TMemo.Create(Form); Button := TButton.Create(Form); Form.Show; end; procedure DLLFormFree; stdcall; begin Memo.Free; Button.Free; Form.Free; end; exports DLLFormShow, DLLFormFree; {$R *.res} begin end. |
Re: GUI per DLL
Hi,
Danke für eure Hilfe. Doch leider komm ich schon wieder nicht weiter. Ich versuche einen procedure auszuführen doch der gibt mir wie fast immer nur Fehler aus. Hier nochmal der derzeitige Code:
Delphi-Quellcode:
Mfg
library form;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; var Form1: TForm; Button1: TButton; Memo1: TMemo; procedure DLLFormShow; stdcall; begin Form1 := TForm.Create(nil); Memo1 := TMemo.Create(Form1); Memo1.Parent := Form1; Button1 := TButton.Create(Form1); Button1.Parent := Form1; Button1.Width := 100; Button1.Height := 100; Form1.Show; Memo1.Show; Button1.Show; end; procedure Form1.Button1Click(Sender: TObject); stdcall; begin DLLFormFree; end; procedure DLLFormFree; stdcall; begin Memo1.Free; Button1.Free; Form.1Free; end; exports DLLFormShow, DLLFormFree; {$R *.res} begin end. |
Re: GUI per DLL
Delphi-Quellcode:
und
Button.Show
Delphi-Quellcode:
gibt es nicht :wink:
Memo.Show
|
Re: GUI per DLL
Moin,
hmm. Klappt aber trodzdem damit. Naja. :) Hab aber trodzdem noch den gleichen Fehler an dieser Stelle:
Delphi-Quellcode:
Mfg
procedure Form1.Button1Click(Sender: TObject); stdcall;
|
Re: GUI per DLL
Wenn dann so:
Delphi-Quellcode:
Außerdem musst du diese prozedure dem Button zuweissen:
procedure Button1Click(Sender: TObject);
Delphi-Quellcode:
Ungetestet
procedure DLLFormShow; stdcall;
begin Form1 := TForm.Create(nil); Form1.Top := 0; Form1.left := 0; Form1.Width := 100; Form1.Height := 200; Memo1 := TMemo.Create(Form1); Memo1.Top := 100; Memo1.left := 0; Memo1.Width := 100; Memo1.Height := 100; Memo1.Parent := Form1; Button1 := TButton.Create(Form1); Button1.Top := 0; Button1.left := 0; Button1.Width := 100; Button1.Height := 100; Button1.Caption := 'FreeMe'; Button1.OnClick := Button1Click; //Hier, weiss aber nicht ob des genau so heisst Button1.Parent := Form1; Form1.Show; end; //edit: Fehler ausgebessert |
Re: GUI per DLL
Hi,
hmm. Ne klappt nicht. Fehler bei Button1.OnClick := Button1Click; //Hier, weiss aber nicht ob des genau so heisst Hab auch nochmal so gekuckt. Der befehl scheint aber richtig zu sein. Komisch. :| Mfg |
Re: GUI per DLL
Versuch mal
Delphi-Quellcode:
gruss
procedure DLLFormShow(app: TApplication); stdcall;
begin Form1 := TForm.Create(app); ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 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