请问 为什麽会出现 Incompatible types这样的错误?(100分)

  • 主题发起人 主题发起人 JAVAFAN
  • 开始时间 开始时间
J

JAVAFAN

Unregistered / Unconfirmed
GUEST, unregistred user!
定义了一个变量:
szEntryName: Array[0..RAS_MaxEntryName] Of Char;
在使用时
VAR
tmp_name: Array[0..RAS_MaxEntryName] Of Char;
tmp_str:string;
i:integer

begin
tmp_str:='Demo1';
for i:=0 to length(tmp_str)-1 do
tmp_name:=tmp_str;

szEntryName:=tmp_name;//此时出错, Incompatible types
end;

请问 为什麽会出现 Incompatible types这样的错误?
 
没错,你定义一个EntryNameType= Array[0..RAS_MaxEntryName] Of Char;的类型先。
然后再用这个类型去定义变量。否则他们是两个类型!Delphi的问题。
 
虽然szEntryName和tmp_name都是字符型数组,长度也一样,但这不以为着他们两个类型
相同,改成
type
mychar=Array[0..RAS_MaxEntryName] Of Char;

var
szEntryName,tmp_name:mychar;
 
VAR
tmp_name,szEntryName: Array[0..RAS_MaxEntryName] Of Char;
这样就可以了,注意你开始分开定义时变量tmp_name和szEntryName不是完全一致的。
 
多人接受答案了。
 
后退
顶部