请教下如何导出dll中常量(非函数或过程)为指针类型或者如何将下面的c++语句转换成delphi的。boolRefTrue    = (CFBooleanRef* )GetProcAddress(corefoundation, "kCFBooleanTrue");

解决方案 »

  1.   

    这不是一个动态导入DLL函数语句么?
    var
       boolRefTrue : function(x,y:integger):integer;stdcall //声明函数体 ,参数什么的必须和DLL中一样;
       corefoundation:longint;
    begin
      corefoundation:=LoadLibrary(PChar('xx.dll'));//库名称,库最好放在系统目录或者当前目录下
      if dll<>0 then
      begin
        @boolRefTrue :=GetProcAddress(corefoundation, 'kCFBooleanTrue');   //可以通过  boolRefTrue ()使用;    FreeLibrary(dll);//用完 释放
      end;
    end;
      

  2.   

    以上方法调用失败,boolRefTrue不是一个函数,是dll中的常量
      

  3.   


    (CFBooleanRef* )这是什么类型? 在DELPHI里转换一下类型(boolRefTrue )
      

  4.   

    常量获取为什么是DLL函数地址方式?
      

  5.   

    就我所知,Delphi写的DLLs导出不了常量、变量,只能导出函数,你需要常量可以用函数返回。