TRasDialParamsA = record
    dwSize: LongInt;
    szEntryName: array[0..RAS_MaxEntryName] of AnsiChar;
    szPhoneNumber: array[0..RAS_MaxPhoneNumber] of AnsiChar;
    szCallbackNumber: array[0..RAS_MaxCallbackNumber] of AnsiChar;
    szUserName: array[0..UNLEN] of AnsiChar;
    szPassword: array[0..PWLEN] of AnsiChar;
    szDomain: array[0..DNLEN] of AnsiChar;
var 
rdParams: TRasDialParamsA;
FUserName: string;
程序实现部分:
中间有句类型转换即:
  StrPCopy(rdParams.szUserName,PChar(FUserName));
报错说声明类型与参数类型不匹配,是ansichar与pchar的问题么?请教下
刚没注意,写错了

解决方案 »

  1.   

    不是啊
    function StrPCopy(Dest: PChar; const Source: string): PChar;
    是PChar和string类型不一致的问题
      

  2.   


    修改为 StrPCopy(rdParams.szUserName,FUserName);
    还是原来错误
      

  3.   


    编译器报的错,不是跟踪报的错。。
    报类型不匹配,我怎么改都编译不过去
    所以问下这函数的类型,pchar与widechar不兼容还是
    什么其他原因导致,请教
      

  4.   

    TRasDialParamsA = record
        dwSize: LongInt;
        szEntryName: array[0..RAS_MaxEntryName] of AnsiChar;
        szPhoneNumber: array[0..RAS_MaxPhoneNumber] of AnsiChar;
        szCallbackNumber: array[0..RAS_MaxCallbackNumber] of AnsiChar;
        szUserName: array[0..UNLEN] of AnsiChar;
        szPassword: array[0..PWLEN] of AnsiChar;
        szDomain: array[0..DNLEN] of AnsiChar;
    var 
    rdParams: TRasDialParamsA;
    FUserName: string;
    程序实现部分:
    中间有句类型转换即:
      StrPCopy(PAnsiChar(@rdParams.szUserName[0]),AnsiString(FUserName));报错说声明类型与参数类型不匹配,是ansichar与pchar的问题么?请教下
    刚没注意,写错了