程序代码如下:
sysini:= Tinifile.Create('/sys.ini');
title := sysini.ReadString(article,'title','');
sysini.Destroy;======================
当我赋值artitle常量时,运行正常,如
artitle = 'article';
当我赋值artitle变量时,运行就异常了,如
article = copy(article,1,7);===================
看了函数的参考,如下
ReadString(const AnsiString Section, const AnsiString Ident, const AnsiString Default);
ReadString的参数是常量的,我如何可以用变量为article赋值???我需要变量赋值,谢谢。
sysini:= Tinifile.Create('/sys.ini');
title := sysini.ReadString(article,'title','');
sysini.Destroy;======================
当我赋值artitle常量时,运行正常,如
artitle = 'article';
当我赋值artitle变量时,运行就异常了,如
article = copy(article,1,7);===================
看了函数的参考,如下
ReadString(const AnsiString Section, const AnsiString Ident, const AnsiString Default);
ReadString的参数是常量的,我如何可以用变量为article赋值???我需要变量赋值,谢谢。
函数里面内容我乱写的,参数按照你的来写function ReadString(const Section,Ident,Default:AnsiString):AnsiString;
begin
result:=Section+Ident+Default;
// section:='abc'; //出错,参数定义为const不允许修改
end; var
artitle:string;
begin
sysini:= Tinifile.Create('/sys.ini');
artitle = 'article';
title := sysini.ReadString(article,'title','');
artitle =copy(article,1,7);
title := sysini.ReadString(article,'title','');
//怎么有可能出错,唯一出错可能就是Tinifile.Create('/sys.ini')
//可能是Tinifile.Create('.\sys.ini')
sysini.Destroy;
end;
谢谢回复假如artitle从另一个ini文件或其他文本文件读取出来,再作为ReadString的参数调用,就作异常,具体异常是ntdll.dll冲突而用 artitle := 'article'; 这种形式赋值,作为ReadString的参数调用,是不会正常的兄弟可以再试试,谢谢我的article的值恰恰需要从其他文本记录中提取出来的。。
//而不是
artitle =copy(artitle,1,7);
定义多一个变量?具体做法是?article := 从文本读取出来的变量值;
article2 := article;
sysini:= Tinifile.Create('/sys.ini');
title := sysini.ReadString(article2,'title','');
sysini.Destroy;
这样,还是会出错。
你随便找个 A=copy(article,1,7); 然后取A 就可以了