有一个函数声明如下:
function StringToWideChar(const Source: string; Dest: PWideChar;
DestSize: Integer): PWideChar;
我调用时用这种方式调用:
StringToWideChar(mFilename, @mFilenameW, FILENAME_LENGTH);
其中
const FILENAME_LENGTH = 400;
mFilenameW:array[0..FILENAME_LENGTH] of PWideChar;
mFilename:String;
编译时出错为:incompatible types 'array' and 'widechar'能否给出详细回答?
多谢!多谢!
function StringToWideChar(const Source: string; Dest: PWideChar;
DestSize: Integer): PWideChar;
我调用时用这种方式调用:
StringToWideChar(mFilename, @mFilenameW, FILENAME_LENGTH);
其中
const FILENAME_LENGTH = 400;
mFilenameW:array[0..FILENAME_LENGTH] of PWideChar;
mFilename:String;
编译时出错为:incompatible types 'array' and 'widechar'能否给出详细回答?
多谢!多谢!
改为mFilenameW:PWideChar;
你需要
StringToWideChar(mFilename, mFilenameW[0], FILENAME_LENGTH);
procedure test(dd:pwidechar);
begin
showmessage(pchar(dd));
end;
VAR
D:ARRAY[0..10] OF WIDECHAR;
begin
fillchar(d,11,'a');
test(d);
end;
D:ARRAY[0..10] OF WIDECHAR;也许你应该这么定义;
关闭: _typed @ operator
我是D7问题虽然解决,但原因很不清楚,而且关于@和^号的问题经常在实际中碰到,希望各位大哥就这个问题踊跃发言,争取能整理出一篇有意义的稿件.