如何在編碼時測試我的.exe Delphi應用程序是使用運行時包還是單一.exe?如何測試應用程序(.exe)是否使用運行時包構建
4
A
回答
8
另一種可能性:
function UsesRuntimePackages: Boolean;
begin
Result := FindClassHInstance(TObject) <> HInstance;
end;
0
你試過「Islibrary」嗎?
1
使用可以使用EnumModules()
過程中,像這樣:
function EnumModuleProc(HInstance: Integer; Data: Pointer): Boolean;
begin
Result := True;
if HInstance <> MainInstance then begin
Inc(PInteger(Data)^);
Result := False;
end;
end;
function UsesRuntimePackages: boolean;
var
PckgCount: integer;
begin
PckgCount := 0;
EnumModules(EnumModuleProc, @PckgCount);
Result := PckgCount > 0;
end;
2
另一種可能性,如果你需要這樣一個外部可執行文件(不運行它):
procedure InfoProc(const Name: string; NameType: TNameType; Flags: Byte; Param: Pointer);
begin
case NameType of
ntContainsUnit:
if Name = 'System' then
PBoolean(Param)^ := False;
end;
end;
function UsesRuntimePackages(const ExeName: TFileName): Boolean;
var
Module: HMODULE;
Flags: Integer;
begin
Result := True;
Module := LoadLibraryEx(PChar(ExeName), 0, LOAD_LIBRARY_AS_DATAFILE);
try
Flags := 0;
GetPackageInfo(Module, @Result, Flags, InfoProc);
finally
FreeLibrary(Module);
end;
end;
相關問題
- 1. 構建應用程序時運行單元測試(Android)
- 2. 在使用maven和flexmojos構建AIR應用程序時運行flexunit4測試
- 3. 如何在使用Espresso運行活動測試時創建應用程序類
- 4. 如何測試使用原子殼構建的應用程序
- 5. 如何使用Ruby on Rails構建測試版應用程序?
- 6. 用Mono構建的應用程序是否在.NET上運行?
- 7. 如何檢測我的應用程序是否正在運行EarlGrey測試?
- 8. 如何構建流星應用程序以進行測試
- 9. 測試.NET應用程序是否以完全信任運行
- 10. 如何使用extJS應用程序運行InternJS測試
- 11. 如何使用Xcode 4和OCUnit運行應用程序測試?
- 12. 如何重構測試應用程序?
- 13. 運行測試時未創建應用程序表
- 14. 如何使用maven構建可運行的JavaFX應用程序?
- 15. 使用測試應用程序運行Calabash-android時出錯
- 16. 調試時,應用程序是否構建?
- 17. android如何檢測應用程序是否在過去運行
- 18. 如何檢測應用程序是否從DVD運行?
- 19. 如何檢測應用程序是否正在運行Cloud9?
- 20. 如何確定iOS應用程序是否使用Flash構建?
- 21. 如何使用java中的參數運行.exe應用程序?
- 22. 如何檢測Azure應用程序是否在開發結構中運行?
- 23. 如何構建java桌面應用程序運行時模塊?
- 24. 如何測試代碼是否在其他應用程序域中運行
- 25. Delphi XE2:使用帶FireMonkey框架的運行時包構建應用程序
- 26. 運行wp7應用程序的測試
- 27. 使用MyFaces 2.1.11構建的應用程序是否會在Tomcat 6.0.24上運行?
- 28. Jasmine:如何使用它來測試使用webpack構建的應用程序?
- 29. 從swf構建exe和應用程序應用程序
- 30. 是否可以同時運行Eclipse應用程序和Junit插件測試?
試過了。它不起作用。打包和非打包的.exe應用程序都返回False。 – 2010-05-14 07:24:23
EXE永遠不是圖書館。 – 2010-05-14 08:08:38