我已經在互聯網上下載了一個Delphi項目,我想使用它,但有一個問題:下載的軟件包包含一個帶有dpr擴展名的文件,但是如果我雙擊它,打開的Delphi我可以看到一個源代碼,但設計缺失,所以我不能修改例如窗口屬性。在一個Delphi項目中,至少有兩個選項卡:讓我們將它們命名爲Unit1和Project1,但這裏僅在選項卡上使用源代碼。另外,在一個經典創建的項目中,源代碼會顯示在一個pas文件中,但是在這裏它是在dpr文件中。我試圖找到一種方法來導入它的內容,但什麼也沒找到。所以,如果有人可以告訴如何將這個dpr文件轉換成一個具有絕對結構的Delphi項目,請讓我知道。 非常感謝。導入一個dpr到Delphi
回答
我已經下載了這個項目。它不是VCL項目,它是使用OpenGL的基於WinAPI的程序。
一些鏈接,以幫助非VCL德爾福編碼:
Creating forms without using vcl
A guide to developing Delphi programs in Windows API
好的,謝謝,我會盡力閱讀和理解這些文章,那麼也許我會回來。再次感謝。 –
這正是我第一次讀到這個問題時所懷疑的,OP是不熟悉不涉及VCL表單的Delphi項目。我認爲每個初學者都要經歷這個階段,但它仍然是每個編碼員都應該學習和理解的東西。 –
好的,但它仍然不清楚:可以將基於WinAPI的程序轉換爲VCL程序嗎? –
一個.dpr文件是一個Delphi項目文件。對於普通的VCL或FMX應用程序,IDE使用它來列出項目中的表單,幷包含初始化Application
類的代碼,創建主窗體,並通過調用Application.Run
啓動程序的執行。舉例來說,這裏是一個應用程序的外殼採用文件 - >新建 - > VCL窗體從IDE主菜單中的應用程序創建:
program Project1;
uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
上面告訴它需要包括VCL.Forms單元以及IDE中作爲單位Unit1
(其中包含Form1)。它初始化應用程序,在成爲Application.MainForm的變量Form1中創建一個TForm1實例,然後啓動程序運行。當Application.Run退出時(通常在Form1關閉時發生),應用程序退出。
但是,應用程序不一定必須包含表單,並且.dpr可以包含應用程序的所有源代碼。下面是一個Delphi控制檯應用程序的例子,它是一個單獨的.dpr文件中的完全包含的程序 - 您可以使用IDE主菜單中的File-> New-> Other創建shell,並在Delphi Projects類別下選擇Console Application 。我添加了三行代碼(兩次調用WriteLn,一次調用ReadLn),以便它執行某些操作。您可以將文件保存爲Project1.dpr
,在任何Delphi IDE中打開它,然後按F9運行它以查看它是如何工作的。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
begin
WriteLn('This is a Delphi console application.');
WriteLn('Press Enter to quit.');
ReadLn;
end.
另一種類型不具有與之相關聯的形式德爾福項目是一個Windows服務(文件 - >新建 - >其它 - >德爾福項目 - >服務應用程序)。
所以,你不能假定一個.dpr文件將與表單有任何關係。你可以通過檢查內容來判斷它是否有效,但不能簡單地通過擴展來判斷。
- 1. 德爾福2009年導入D7 DPR:
- 2. 用C++ Builder導入.dpr項目6
- 3. Delphi 4無法打開.dpr文件
- 4. 將chartfx導入到Delphi XE2
- 5. 將RC文件直接添加到Delphi DPR
- 6. 找不到Delphi 2007 WSDL導入程序
- 7. 將Delphi Web服務導入到Java
- 8. 使用.dpr文件重新編譯/重建Delphi 5代碼
- 9. 導入CSV到一個DataTable
- 10. 在vba中導入Delphi dll
- 11. 將Pchar Delphi DLL導入C#?
- 12. 在Ansi-C導入Delphi Dll
- 13. 如何使用delphi導入(合併)一個reg文件?
- 14. 如何在delphi中導入一個接口?
- 15. 從Delphi XE2導出到Xcode
- 16. 從Delphi導出一個列表到OpenOffice Calc
- 17. PHP和Mysql,從一個表導出到另一個表導入
- 18. 在另一個Delphi應用程序中嵌入Delphi窗口
- 19. 不要做什麼來阻止Delphi在.DPR中重複使用列表和{$ *。RES}
- 20. 從DPR或Delphi的其他功能/程序訪問子功能/程序
- 21. 從Delphi ColdFusion生成的Delphi 2010 WSDL導入錯誤
- 22. 插入一個導航欄到wordpress
- 23. 導入操作者到一個函數
- 24. 導入Python腳本到另一個?
- 25. 導入mdb數據到另一個mdb
- 26. 如何導入一個DLL到MSScriptControl.ScriptControl
- 27. XSD導入到另一個XSD文件
- 28. 導入一個postgresql轉儲到Heroku
- 29. 如何導入一個jar到Eclipse
- 30. 導入一個.java類到netbeans
.dpr文件鏈接使用過的.pas單元。如果您提交了dpr文件,這將有所幫助。 –
好的,我該如何提交? –
錯過了.dfm文件嗎?你能告訴我們一個鏈接到下載的項目? – MBo