Hi,
das war es immernoch nicht, aber Danke für deine Bemühungen
Zitat:
Und hier klang es eben so, als wenn
eine Form in der EXE
und 2 Forms + Komponente in der
DLL
miteinander reden sollen.
2 Forms + Komponente in der
DLL. Das Außenstehende Programm, welches Später mit der Exe arbeitet ist dabei nun an dieser Stelle völlig zu vernachlässigen.
Betrachten wir die
dll also als eigenstäniges komplettes Programm, so das die eigentliche .exe in der
Dll später nur eine Startfunction aufruft und die
Dll danach alleine für sich arbeitet.
Ich muss nun doch mal ebend etwas Beispielscode geben.
Delphi-Quellcode:
library DllExample;
uses
SysUtils,
Classes,
ComServ,
ComObj,
OoMisc,
AdPort,
Dialogs,
Windows,
Forms,
Optional_window
in '
Optional_window.pas'
{Form2};
{$R *.res}
var
ComPort: TApdComPort;
Optionalwindow: TForm2;
// Hilfs Functions
// Dll Export Functions
function Plugin_init(): Boolean;
stdcall;
begin
ComPort := TApdComPort.Create(
nil);
Optionalwindow := TForm2.Create(Application);
end;
function Plugin_SendValue(value:
string): boolean;
stdcall;
begin
// Code zum senden der Werte
end;
function Plugin_show_additionalwindow(): Boolean;
stdcall;
begin
Optionalwindow.ShowModal;
end;
exports
Plugin_Sendvalue,
Plugin_show_additionalwindow;
begin
Plugin_init;
end.
Nun hat die eingebundene Form (Optional_window in 'Optional_window.pas' {Form2}
ebend 2 Buttons und will damit diese Function hier nutzen:
function Plugin_SendValue(value: string): boolean; stdcall;
Und hier ist dann auch mein Problem. Im Falle eines Delphiprogramms und unter der Annahme DllExample ist eine
Unit und keine Libary würde ich jetzt im ButtonOnClick der Optional_window auf UnitXYZ.Plugin_SendValue zugreifen können, was nun ja aber nicht geht da DllExample ebend keine
Unit sondern eine libary ist.
Ich hoffe mein Problem ist nun etwas deutlicher geworden.
Mfg Yannic