Конференция "Основная" » Вызов в DLL функции основного приложения [D7]
 
  • Fynjy84 (11.04.08 08:14) [0]
    Есть DLL


    ....
    type PF_SearchInfo=Procedure(score,depth,speed:integer;pv,cm:Pchar); stdcall;

    Var procE:PF_SearchInfo;
    ...
    Procedure EI_Initialization(PF_SearchInfo:PF_SearchInfo;mem_lim:integer);stdcall;
    begin
     ProcE:=PF_SearchInfo;//далее ProcE вызывается в других функциях дллки
     ........
    end;
    .......
    exports
    .....
    EI_Initialization,
    .....



    есть основная программа

    type
    ...... PF_SearchInfo=Procedure(score,depth,speed:integer;pv,cm:Pchar); stdcall;
     
    ..............
    implementation

    Procedure EI_Initialization (PF_SearchInfo:PF_SearchInfo;mem_lim:integer); external 'DLL1.dll';

    Procedure A1(score,depth,speed:integer;pv,cm:Pchar);stdcall;
    begin
     showmessage(inttostr(score));
    end;

    procedure TMyForm.Button1Click(Sender: TObject);

    begin  
       EI_Initialization(@A1,32);//здесь приложение зависает
    end;


    Как мне вызвать функцию из DLL  EI_Initialization(@A1,32) точнее как мне передать указатель на A1 чтобы процедура А1 вызывалась из дллки?
  • Сергей М. © (11.04.08 08:20) [1]
    Procedure EI_Initialization(PF_SearchInfo:PF_SearchInfo;mem_lim:integer);stdcall;
    begin
    ProcE:=PF_SearchInfo;//далее ProcE вызывается в других функциях дллки
    ........
    end;

    Procedure EI_Initialization (PF_SearchInfo:PF_SearchInfo;mem_lim:integer); stdcall; external 'DLL1.dll';
  • Fynjy84 (11.04.08 08:47) [2]
    Спасибо, вот она невмнимательность
 
Конференция "Основная" » Вызов в DLL функции основного приложения [D7]
Есть новые Нет новых   [134487   +52][b:0][p:0.001]