Показать сообщение отдельно
  #40  
Старый 08.11.2012, 15:55
helgboy helgboy вне форума
Прохожий
 
Регистрация: 30.10.2012
Сообщения: 33
Репутация: 10
По умолчанию

Ну чтож почти все получилось. Получил правильный адрес в конечной процедуре 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.
Я правильно понял как говорилось где то выше , что это обойти никак нельзя?
Ответить с цитированием