我有一个奇怪的问题让我发疯,当我尝试运行该程序时,我出现了典型的卡特尔“无法找到程序”,当avast处于活动状态时会导致错误,因为当我禁用avast时程序不对,但是当我使用它时,我得到了它。
代码只是这样做:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
pagina1,pagina2: string;
function probando_1(url, parte: string): string;
begin
if (parte = 'a') then
begin
Result := 'test';
end;
if (parte = 'b') then
begin
Result := 'test';
end;
end;
begin
pagina1 := 'http://www.test.com/zzz/test.php';
try
WriteLn(probando_1(pagina1, 'a'));
WriteLn(probando_1(pagina1, 'b'));
readln;
except
on E: Exception do
WriteLn(E.ClassName, ': ', E.Message);
end;
end.
你看它并不复杂,那是最糟糕的。
有人能告诉我代码中有什么问题吗?
答案 0 :(得分:2)
如果IDE无法运行可执行文件,并且关闭AV软件会导致问题消失,则AV软件可能会在创建后立即将其删除。在AV软件中为您的开发目录创建例外(排除)。
但是,您的代码确实存在严重问题。如果使用probando_1
或a
之外的其他内容调用,您希望b
返回什么?总是初始化函数的结果是一个好习惯:
function probando_1(url, parte: string): string;
begin
Result := 'nothing'; { or Result := ''; }
if (parte = 'a') then
begin
Result := 'test';
end;
if (parte = 'b') then
begin
Result := 'test';
end;
end;