Ну чтож почти все получилось. Получил правильный адрес в конечной процедуре keyctrl в exe .
Остался небольшой баг если начальная требуемая процедура perebor(); была объявлена так :
Код:
type
Tvideodriver = class(TForm)
procedure leftClick(Sender: TObject);
end;
procedure perebor();// адрес этой процедуры передается в dll и обратно
var
......
implementation
procedure keyctrl(nx1:pointer)
var i:integer;
rezultat :procedure() ;
begin
@rezultat:=nx1;// адрес процедуры perebor()
end;
......
то все отлично работает , а если присвоить perebor к классу главной формы то во время выполнения программы вылетает ошибка
приверно вот так:
Код:
type
Tvideodriver = class(TForm)
procedure leftClick(Sender: TObject);
procedure perebor(Sender: TObject);// адрес этой процедуры передается в dll и обратно
end;
var
......
implementation
procedure keyctrl(nx1:pointer)
var i:integer;
rezultat :procedure() ;
begin
@rezultat:=nx1;// адрес процедуры perebor()
end;
......
При чем ошибка появляется именно в момент загрузки dll.
Я правильно понял как говорилось где то выше , что это обойти никак нельзя?