显示功能结果

时间:2013-11-15 00:55:53

标签: delphi

我有一个奇怪的问题让我发疯,当我尝试运行该程序时,我出现了典型的卡特尔“无法找到程序”,当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.

你看它并不复杂,那是最糟糕的。

有人能告诉我代码中有什么问题吗?

1 个答案:

答案 0 :(得分:2)

如果IDE无法运行可执行文件,并且关闭AV软件会导致问题消失,则AV软件可能会在创建后立即将其删除。在AV软件中为您的开发目录创建例外(排除)。

但是,您的代码确实存在严重问题。如果使用probando_1a之外的其他内容调用,您希望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;