调用别人的DLL,函数成功返回一字符串,失败返回NULL,我要用什么变量去接收这个返回值进而对函数结果进行判断呢?是用字符串还是什么啊?对于DELPHI里面的NULL了解的不是很多,诶,咋办?

解决方案 »

  1.   

    用PChar类型的变量, 调用前别忘了先给变量分配空间。
      

  2.   

    用指针的话,判断是否为nil
    用整数的话,判断是否为0function DllFunc() : Pointer;
    if DllFunc=nil thenfunction DllFunc() : Integer;
    if DllFunc=0 then
      

  3.   

    不能用pchar,要用widestring,不存在null,在delphi里空的表示是 nil,这个不能针对字符串,针对某一对象,比如按钮是否存在 用 if button1=nil then .....
    也就是说字符串只能用 if str='' then ....
      

  4.   

    给个用PChar的例子:function F1: PChar;
    begin
      Result := nil;
    end;function F2: PChar;
    begin
      Result := 'Hello';
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      A : PChar;
    begin
      GetMem(A, 128);
      A := F1;
      if A <> nil then ShowMessage(A);
      A := F2;
      if A <> nil then ShowMessage(A);
    end;