我有一个单元:uDAUniDACDriver.pas
中间的一段定义:
{$IFDEF MSWINDOWS}
{$I ..\DataAbstract.inc}
{$ELSE}
{$I ../DataAbstract.inc}
{$ENDIF}
{.$DEFINE UNIDAC_NATIVE_ONLY}
interfaceuses DB, Classes, uDAEngine, uROClasses,
  uROBinaryHelpers, uDAUtils,
  DBAccess, Uni, DASQLMonitor, UniSQLMonitor, MemUtils,
  {$IF UniDacVersion > '4.1'}CRTypes,{$IFEND}//这里引用了crtypes单元
  uDAInterfaces,
  uDAADOInterfaces,
  uDAIBInterfaces,
。。procedure OnSDACTrace(Sender: TObject; Text: _string; Flag: TDATraceFlag);//这里的_string是定义在 crtypes里面了我在编译 uDAUniDACDriver.pas时,总提示 _string没有定义。
但是出现了很奇怪的现象,我把所有 crtypes.pas 和 crtypes.dcu都删除了,也没有提示 crtypes单元找不到。总提示 _string没有定义。在crtypes中明明定义了,却总提示。高手指教一下

解决方案 »

  1.   

    crtypes中的定义{$IFDEF CRUNICODE}
      _string = WideString;
      _char = WideChar;
      _PChar = PWideChar;
      _TStrings = TWideStrings;
      _TStringList = TWideStringList;
      {$IFDEF CLR}
      _StringBuilder = WideStringBuilder;
      {$ENDIF}
    {$ELSE}
      _string = string;
      _char = char;
      _PChar = PChar;
      _TStrings = TStrings;
      _TStringList = TStringList;
      {$IFDEF CLR}
      _StringBuilder = StringBuilder;
      {$ENDIF}
    {$ENDIF}
      

  2.   

    就是安装 remobjects 和 unidac driver时,出现的问题一点建议都没有? 高手们
      

  3.   

    把_string所在单元的路径添加到Library Path中。
      

  4.   

    UniDacVersion 这个定义在哪?值是多少