用Delphi编写一个ActiveX DLL,接口中声明一个函数 
function GetDepartInfo(pDptName: PChar; pParentDptName: PChar; pManager: PChar; pPhone: PChar;pFax: PChar; pAddress: PChar): SYSINT; stdcall;
函数实现如下:function TRFUser.GetDepartInfo(pDptName, pParentDptName, pManager, pPhone,
  pFax, pAddress: PChar): SYSINT;
var
  stDptName:string;
  stParentDptID:string;
  strManager: string;
begin
  stDptName := string(pDptName);
  with self.ADOQu_Temp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from pb_depart where dptname='''+stDptName+'''');
    try
      open;
      if isEmpty then
      begin
        result:=-1;
        exit;
      end;
      stParentDptID := fieldbyname('dptParent').AsString;
      strManager := FieldByName('Manager').AsString;
      pManager := PChar(strManager);
      pPhone := PChar(FieldByName('Phone').AsString);
      PFax := PChar(FieldByName('Fax').AsString);
      pAddress := PChar(FieldByName('Address').AsString);
      //ShowMessage(String(pManager));
      //strcopy(pManager,pchar(fieldbyname('Manager').asstring));
      //strcopy(pPhone,pchar(fieldbyname('phone').AsString));
      //strcopy(pFax,pchar(fieldbyname('fax').AsString));
      //strcopy(pAddress,pchar(fieldbyname('Address').AsString));
    except
      On E: Exception do begin
        //ShowMessage(E.Message);
        result := -900;
        exit;
      end;
    end;
  end;  with self.ADOQu_Temp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from pb_depart where dptid='''+stParentDptID+'''');
    try
      open;
      if isEmpty then
      begin
        result:=-2;
        exit;
      end;
      pParentDptName := PChar(FieldByName('dptname').AsString);
      //strcopy(pParentDptName,pchar(fieldbyname('dptname').asstring));
    except
      result:=-900;
      exit;
    end;
  end;  result:=0;end; 用VB6写的调用过程如下
 Private Sub Command1_Click()
    Dim strDepartName$, strParentDptName$, strManager$, strPhone$, _
    strFax$, strAddress$
    
Dim oUser As RFUser  
Set oUser = New AXUser.RFUser 
     '因为VB中的string类型只有赋值后才分配内存空间
    strDepartName = "总部"
'    strParentDptName = String(50, Chr(50))
'    strManager = String(50, Chr(50))
'    strPhone = String(50, Chr(50))
'    strFax = String(50, Chr(50))
'    strAddress = String(50, Chr(50))
    
    If oUser.ConnectDB = 0 Then
        oUser.GetDepartInfo strDepartName, strParentDptName, strManager, strPhone, _
        strFax, strAddress
        Dim strMsg$
        
        strMsg = "Depart Name:" + strDepartName + vbCrLf + _
                 "Parent Depart Name:" + strParentDptName + vbCrLf + _
                 "Manager:" + strManager + vbCrLf + _
                 "Phone:" + strPhone + vbCrLf + _
                 "Fax:" + strFax + vbCrLf + "Address:" + strAddress
                    
        MsgBox strMsg
        
    End If
  Set oUser = Nothing  
    
End Sub结果上述代码无法取到PChar类型的输出参数的值,怎么办,请高手指点。