
Заранее спасибо!
Moderators: Korney San, marcipan
Code: Select all
TRegisterPlugIn = function: IDMPlugIn; stdcall;
ну и далее по тексту.@PlugIn:=getprocaddress(hndl,'RegisterPlugIn');
if plugin<>nil then
begin
plug:=plugin();
Ниче не изменило, результат тот же!Korney San wrote:А где ж им не лететь, когда надону и далее по тексту.@PlugIn:=getprocaddress(hndl,'RegisterPlugIn');
if plugin<>nil then
begin
plug:=plugin();
Курите присваивание указателей.
Вылеты на выходе? А FreeLibrary Пушкин писать должен? DLL это Вам не просто переменная.rus_999 wrote:Ниче не изменило, результат тот же!
Передать ссылку на функцию exe в DLL. Как это делает DM.rus_999 wrote: И еще вопрос как можно из длл вызвать функцию exe, пожалуйста поподробнее.
Code: Select all
type
TActionFunc = function (action, parameters: WideString): WideString of object;
const
actConnect = 'Connect';
type
TThunkSetupForm = class(TForm)
...
public
{ Public declarations }
DoPluginAction: TActionFunc;
...
end;
procedure TThunkSetupForm.FormCreate(Sender: TObject);
begin
...
DoPluginAction:=nil;
...
end;
procedure TThunkSetupForm.SB2Click(Sender: TObject);
begin
...
if Assigned(DoPluginAction) then
begin
DoPluginAction(actDisconnect, FPlugins[i].FileName);
...
end;
...
end;
procedure TDMTestPlugIn.PluginConfigure(params: WideString);//вызов окна конфигурации плагина
begin
CF:=TThunkSetupForm.Create(nil);
...
CF.DoPluginAction:=EventRaised;
CF.ShowModal;
...
CF.Free;
end;
Начнём сначала. Вы хотите подключить плагин DM к своей программе и вызвать функцию этой программы из плагина?rus_999 wrote:Чет не понял, че куда добавлять. Какая часть в программе, какая в библиотеке?
Да. Чтоб можно было вызвать из программы функцию плагина, которая после завершения своей работы вызывает процедуру из программы.Korney San wrote:Начнём сначала. Вы хотите подключить плагин DM к своей программе и вызвать функцию этой программы из плагина?rus_999 wrote:Чет не понял, че куда добавлять. Какая часть в программе, какая в библиотеке?