2013-11-15 2 views
0

나는 프로그램을 실행하려고 할 때 '프로그램을 찾을 수 없습니다'라는 일반적인 카르텔을 나타납니다. avast가 활성 상태 일 때 오류가 발생합니다. avast program amiss를 사용하지 않도록 설정합니다.하지만 사용하면 얻을 수 있습니다.디스플레이 기능 결과

코드는이 작업을 수행 :

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

: 항상 함수의 결과를 초기화하는 좋은 습관 그것이 만들어 지 자마자. AV 소프트웨어에서 개발 디렉토리에 대한 예외 (제외)를 생성하십시오. 그러나 코드에 심각한 문제가 있습니다. 'probando_1'이'a' 나'b'가 아닌 다른 것으로 호출되면 무엇을 돌려 주길 기대합니까? 프로젝트 컴파일러 옵션에서 힌트와 경고를 켜고 ** 컴파일러에서 제공하는 힌트와 경고에주의를 기울이십시오 ** 이유가 있습니다. –

+1

며칠 전에 같은 질문을 대답하지 않았습니까? 귀하의 AV 소프트웨어가 귀하의 컴파일 된 파일을 삭제합니까? –

답변

2

IDE에서 실행 파일을 실행할 수 없으며 AV 소프트웨어를 끄면 문제가 해결됩니다. AV 소프트웨어가 생성되면 즉시 삭제할 수 있습니다. AV 소프트웨어에서 개발 디렉토리에 대한 예외 (제외)를 생성하십시오.

그러나 코드에 심각한 문제가 있습니다. a 또는 b이 아닌 다른 것으로 호출 된 경우 probando_1이 무엇을 반환 할 것이라고 기대합니까? 실행이 IDE에 의해 실행하고 AV 소프트웨어를 해제하면 문제가 사라하게 할 수없는 경우 AV 소프트웨어는 아마 삭제되고,

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; 
+0

켄 화이트의 도움에 감사드립니다.하지만 오류가 지속됩니다. 내가 원하는 것을 수행하는 다른 방법을 찾았으므로, 나는 허풍을 싫어하기 시작했습니다. –

+2

Jose, 실행 파일을 보내고 문제를 거짓 긍정으로보고하십시오. 그러나, 나는 당신이 보여준 코드가 Avast가 그것이 바이러스라고 생각하게 만들지 않을 것이라고 생각합니다 (그것은 그 진절머리 나는 AV가 아닙니다). 더 당신은 당신의 컴퓨터에 바이러스 (당신의 방금 컴파일 된 바이너리를 수정 함)가 있다고 의심 될 것입니다. – TLama

관련 문제