2016-04-03 71 views
0

我在lazarus中使用了對象pascal。當我打開一箇舊項目並嘗試運行它時;這個代碼窗口中源代碼編輯器彈出:運行舊項目時出錯 - Lazarus

program TimeKeeper; 

{$mode objfpc}{$H+} 

uses 
    {$IFDEF UNIX}{$IFDEF UseCThreads} 
    cthreads, 
    {$ENDIF}{$ENDIF} 
    Interfaces, // this includes the LCL widgetset 
    Forms, datetimectrls, TimeKeeperU1; 

{$R *.res} 

begin 
    RequireDerivedFormResource := True; 
    Application.Initialize; 
     Application.CreateForm(TfrmTimeKeeper, frmTimeKeeper); 

    Application.Run; 
end. 

源窗口的錯誤此代碼窗口彈出,是搭配這些錯誤:

TimeKeeper.lpr(20,1) Error: Can't create object file: TimeKeeper.exe (error code: 5) TimeKeeper.lpr(20,1) Error: Can't create executable TimeKeeper.exe

有誰知道解決方法是什麼呢?

+0

[ERROR_ACCESS_DENIED](https://msdn.microsoft.com/en-gb/library/windows/desktop/ms681382.aspx#ERROR_ACCESS_DENIED)它支付了解一些更常見的Win32錯誤代碼 –

回答

3

錯誤消息指示無法創建目標文件,這會導致應用程序未被創建。錯誤代碼5意味着訪問被拒絕,這意味着您沒有對編譯器和鏈接器試圖存儲輸出的目錄的寫訪問權限,或者可執行文件正在使用中且無法替換病毒軟件),或者它是隻讀的。

如果問題出現在權限中,解決辦法是獲取目錄的足夠權限或將項目的輸出路徑更改爲您擁有足夠權限的目錄。這通常在主菜單的Project-> Options中完成。

如果是由於防病毒軟件或其他使用可執行文件的進程造成的,請禁用AV軟件或提供防止掃描該文件夾的例外規則。

如果問題是由文件爲只讀引起的,請更改文件屬性以刪除該屬性。

+0

謝謝肯。我讀完你​​的答案後。我嘗試的第一件事是刪除舊的現有EXE文件。這似乎已經解決了該問題,因爲該程序現在從IDE運行。 –

+0

@CliffCrerar它也可能是由防病毒軟件引起的,例如阻止其他可執行文件創建可執行文件。 – Abelisto