summaryrefslogtreecommitdiff
path: root/plugins/Watrack
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2012-10-08 19:38:29 +0000
committerGeorge Hazan <george.hazan@gmail.com>2012-10-08 19:38:29 +0000
commita79efabe45cbe4f2ccc87ee5928e1dc0fd408440 (patch)
treecd08ad21c4cd505459820a6c34273b8bf94b8df0 /plugins/Watrack
parent779349ab7172e0e0b96cbd8f994c82a5ee45d3f3 (diff)
compilation fix
git-svn-id: http://svn.miranda-ng.org/main/trunk@1824 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Watrack')
-rw-r--r--plugins/Watrack/PsAPI.pas418
-rw-r--r--plugins/Watrack/make.bat39
2 files changed, 437 insertions, 20 deletions
diff --git a/plugins/Watrack/PsAPI.pas b/plugins/Watrack/PsAPI.pas
new file mode 100644
index 0000000000..2fe6ed2be7
--- /dev/null
+++ b/plugins/Watrack/PsAPI.pas
@@ -0,0 +1,418 @@
+unit PsAPI;
+
+interface
+
+{$WEAKPACKAGEUNIT}
+
+uses Windows;
+
+{$HPPEMIT '#include <psapi.h>'}
+
+type
+ PPointer = ^Pointer;
+
+ TEnumProcesses = function (lpidProcess: LPDWORD; cb: DWORD; var cbNeeded: DWORD): BOOL stdcall;
+ TEnumProcessModules = function (hProcess: THandle; lphModule: LPDWORD; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL stdcall;
+ TGetModuleBaseNameA = function (hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PAnsiChar; nSize: DWORD): DWORD stdcall;
+ TGetModuleBaseNameW = function (hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PWideChar; nSize: DWORD): DWORD stdcall;
+ TGetModuleBaseName = TGetModuleBaseNameA;
+ TGetModuleFileNameExA = function (hProcess: THandle; hModule: HMODULE;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD stdcall;
+ TGetModuleFileNameExW = function (hProcess: THandle; hModule: HMODULE;
+ lpFilename: PWideChar; nSize: DWORD): DWORD stdcall;
+ TGetModuleFileNameEx = TGetModuleFileNameExA;
+
+ {$EXTERNALSYM _MODULEINFO}
+ _MODULEINFO = packed record
+ lpBaseOfDll: Pointer;
+ SizeOfImage: DWORD;
+ EntryPoint: Pointer;
+ end;
+ {$EXTERNALSYM MODULEINFO}
+ MODULEINFO = _MODULEINFO;
+ {$EXTERNALSYM LPMODULEINFO}
+ LPMODULEINFO = ^_MODULEINFO;
+ TModuleInfo = _MODULEINFO;
+ PModuleInfo = LPMODULEINFO;
+
+ TGetModuleInformation = function (hProcess: THandle; hModule: HMODULE;
+ lpmodinfo: LPMODULEINFO; cb: DWORD): BOOL stdcall;
+ TEmptyWorkingSet = function (hProcess: THandle): BOOL stdcall;
+ TQueryWorkingSet = function (hProcess: THandle; pv: Pointer; cb: DWORD): BOOL stdcall;
+ TInitializeProcessForWsWatch = function (hProcess: THandle): BOOL stdcall;
+
+ {$EXTERNALSYM _PSAPI_WS_WATCH_INFORMATION}
+ _PSAPI_WS_WATCH_INFORMATION = packed record
+ FaultingPc: Pointer;
+ FaultingVa: Pointer;
+ end;
+ {$EXTERNALSYM PSAPI_WS_WATCH_INFORMATION}
+ PSAPI_WS_WATCH_INFORMATION = _PSAPI_WS_WATCH_INFORMATION;
+ {$EXTERNALSYM PPSAPI_WS_WATCH_INFORMATION}
+ PPSAPI_WS_WATCH_INFORMATION = ^_PSAPI_WS_WATCH_INFORMATION;
+ TPSAPIWsWatchInformation = _PSAPI_WS_WATCH_INFORMATION;
+ PPSAPIWsWatchInformation = PPSAPI_WS_WATCH_INFORMATION;
+
+ TGetWsChanges = function (hProcess: THandle; lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION;
+ cb: DWORD): BOOL stdcall;
+
+ TGetMappedFileNameA = function (hProcess: THandle; lpv: Pointer;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD stdcall;
+ TGetMappedFileNameW = function (hProcess: THandle; lpv: Pointer;
+ lpFilename: PWideChar; nSize: DWORD): DWORD stdcall;
+ TGetMappedFileName = TGetMappedFileNameA;
+ TGetDeviceDriverBaseNameA = function (ImageBase: Pointer; lpBaseName: PAnsiChar;
+ nSize: DWORD): DWORD stdcall;
+ TGetDeviceDriverBaseNameW = function (ImageBase: Pointer; lpBaseName: PWideChar;
+ nSize: DWORD): DWORD stdcall;
+ TGetDeviceDriverBaseName = TGetDeviceDriverBaseNameA;
+ TGetDeviceDriverFileNameA = function (ImageBase: Pointer; lpFileName: PAnsiChar;
+ nSize: DWORD): DWORD stdcall;
+ TGetDeviceDriverFileNameW = function (ImageBase: Pointer; lpFileName: PWideChar;
+ nSize: DWORD): DWORD stdcall;
+ TGetDeviceDriverFileName = TGetDeviceDriverFileNameA;
+
+ TEnumDeviceDrivers = function (lpImageBase: PPointer; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL stdcall;
+
+ {$EXTERNALSYM _PROCESS_MEMORY_COUNTERS}
+ _PROCESS_MEMORY_COUNTERS = packed record
+ cb: DWORD;
+ PageFaultCount: DWORD;
+ PeakWorkingSetSize: DWORD;
+ WorkingSetSize: DWORD;
+ QuotaPeakPagedPoolUsage: DWORD;
+ QuotaPagedPoolUsage: DWORD;
+ QuotaPeakNonPagedPoolUsage: DWORD;
+ QuotaNonPagedPoolUsage: DWORD;
+ PagefileUsage: DWORD;
+ PeakPagefileUsage: DWORD;
+ end;
+ {$EXTERNALSYM PROCESS_MEMORY_COUNTERS}
+ PROCESS_MEMORY_COUNTERS = _PROCESS_MEMORY_COUNTERS;
+ {$EXTERNALSYM PPROCESS_MEMORY_COUNTERS}
+ PPROCESS_MEMORY_COUNTERS = ^_PROCESS_MEMORY_COUNTERS;
+ TProcessMemoryCounters = _PROCESS_MEMORY_COUNTERS;
+ PProcessMemoryCounters = ^_PROCESS_MEMORY_COUNTERS;
+
+ TGetProcessMemoryInfo = function (Process: THandle;
+ ppsmemCounters: PPROCESS_MEMORY_COUNTERS; cb: DWORD): BOOL stdcall;
+
+{$EXTERNALSYM EnumProcesses}
+function EnumProcesses(lpidProcess: LPDWORD; cb: DWORD; var cbNeeded: DWORD): BOOL;
+{$EXTERNALSYM EnumProcessModules}
+function EnumProcessModules(hProcess: THandle; lphModule: LPDWORD; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL;
+{$EXTERNALSYM GetModuleBaseName}
+function GetModuleBaseName(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleBaseNameA}
+function GetModuleBaseNameA(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PAnsiChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleBaseNameW}
+function GetModuleBaseNameW(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PWideChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleFileNameEx}
+function GetModuleFileNameEx(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleFileNameExA}
+function GetModuleFileNameExA(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleFileNameExW}
+function GetModuleFileNameExW(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PWideChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetModuleInformation}
+function GetModuleInformation(hProcess: THandle; hModule: HMODULE;
+ lpmodinfo: LPMODULEINFO; cb: DWORD): BOOL;
+{$EXTERNALSYM EmptyWorkingSet}
+function EmptyWorkingSet(hProcess: THandle): BOOL;
+{$EXTERNALSYM QueryWorkingSet}
+function QueryWorkingSet(hProcess: THandle; pv: Pointer; cb: DWORD): BOOL;
+{$EXTERNALSYM InitializeProcessForWsWatch}
+function InitializeProcessForWsWatch(hProcess: THandle): BOOL;
+{$EXTERNALSYM GetMappedFileName}
+function GetMappedFileName(hProcess: THandle; lpv: Pointer;
+ lpFilename: PChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetMappedFileNameA}
+function GetMappedFileNameA(hProcess: THandle; lpv: Pointer;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetMappedFileNameW}
+function GetMappedFileNameW(hProcess: THandle; lpv: Pointer;
+ lpFilename: PWideChar; nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverBaseName}
+function GetDeviceDriverBaseName(ImageBase: Pointer; lpBaseName: PChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverBaseNameA}
+function GetDeviceDriverBaseNameA(ImageBase: Pointer; lpBaseName: PAnsiChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverBaseNameW}
+function GetDeviceDriverBaseNameW(ImageBase: Pointer; lpBaseName: PWideChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverFileName}
+function GetDeviceDriverFileName(ImageBase: Pointer; lpFileName: PChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverFileNameA}
+function GetDeviceDriverFileNameA(ImageBase: Pointer; lpFileName: PAnsiChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM GetDeviceDriverFileNameW}
+function GetDeviceDriverFileNameW(ImageBase: Pointer; lpFileName: PWideChar;
+ nSize: DWORD): DWORD;
+{$EXTERNALSYM EnumDeviceDrivers}
+function EnumDeviceDrivers(lpImageBase: PPointer; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL;
+{$EXTERNALSYM GetProcessMemoryInfo}
+function GetProcessMemoryInfo(Process: THandle;
+ ppsmemCounters: PPROCESS_MEMORY_COUNTERS; cb: DWORD): BOOL;
+
+implementation
+
+var
+ hPSAPI: THandle;
+ _EnumProcesses: TEnumProcesses;
+ _EnumProcessModules: TEnumProcessModules;
+ {procedure}_GetModuleBaseName: TGetModuleBaseNameA;
+ {procedure}_GetModuleFileNameEx: TGetModuleFileNameExA;
+ {procedure}_GetModuleBaseNameA: TGetModuleBaseNameA;
+ {procedure}_GetModuleFileNameExA: TGetModuleFileNameExA;
+ {procedure}_GetModuleBaseNameW: TGetModuleBaseNameW;
+ {procedure}_GetModuleFileNameExW: TGetModuleFileNameExW;
+ _GetModuleInformation: TGetModuleInformation;
+ _EmptyWorkingSet: TEmptyWorkingSet;
+ _QueryWorkingSet: TQueryWorkingSet;
+ _InitializeProcessForWsWatch: TInitializeProcessForWsWatch;
+ {procedure}_GetMappedFileName: TGetMappedFileNameA;
+ {procedure}_GetDeviceDriverBaseName: TGetDeviceDriverBaseNameA;
+ {procedure}_GetDeviceDriverFileName: TGetDeviceDriverFileNameA;
+ {procedure}_GetMappedFileNameA: TGetMappedFileNameA;
+ {procedure}_GetDeviceDriverBaseNameA: TGetDeviceDriverBaseNameA;
+ {procedure}_GetDeviceDriverFileNameA: TGetDeviceDriverFileNameA;
+ {procedure}_GetMappedFileNameW: TGetMappedFileNameW;
+ {procedure}_GetDeviceDriverBaseNameW: TGetDeviceDriverBaseNameW;
+ {procedure}_GetDeviceDriverFileNameW: TGetDeviceDriverFileNameW;
+ _EnumDeviceDrivers: TEnumDeviceDrivers;
+ _GetProcessMemoryInfo: TGetProcessMemoryInfo;
+
+function CheckPSAPILoaded: Boolean;
+begin
+ if hPSAPI = 0 then
+ begin
+{$IFDEF MSWINDOWS}
+ hPSAPI := LoadLibrary('PSAPI.dll');
+ if hPSAPI < 32 then
+ begin
+ hPSAPI := 0;
+ Result := False;
+ Exit;
+ end;
+{$ENDIF}
+ @_EnumProcesses := GetProcAddress(hPSAPI, 'EnumProcesses');
+ @_EnumProcessModules := GetProcAddress(hPSAPI, 'EnumProcessModules');
+ {procedure}@_GetModuleBaseName := GetProcAddress(hPSAPI, 'GetModuleBaseNameA');
+ {procedure}@_GetModuleFileNameEx := GetProcAddress(hPSAPI, 'GetModuleFileNameExA');
+ {procedure}@_GetModuleBaseNameA := GetProcAddress(hPSAPI, 'GetModuleBaseNameA');
+ {procedure}@_GetModuleFileNameExA := GetProcAddress(hPSAPI, 'GetModuleFileNameExA');
+ {procedure}@_GetModuleBaseNameW := GetProcAddress(hPSAPI, 'GetModuleBaseNameW');
+ {procedure}@_GetModuleFileNameExW := GetProcAddress(hPSAPI, 'GetModuleFileNameExW');
+ @_GetModuleInformation := GetProcAddress(hPSAPI, 'GetModuleInformation');
+ @_EmptyWorkingSet := GetProcAddress(hPSAPI, 'EmptyWorkingSet');
+ @_QueryWorkingSet := GetProcAddress(hPSAPI, 'QueryWorkingSet');
+ @_InitializeProcessForWsWatch := GetProcAddress(hPSAPI, 'InitializeProcessForWsWatch');
+ {procedure}@_GetMappedFileName := GetProcAddress(hPSAPI, 'GetMappedFileNameA');
+ {procedure}@_GetDeviceDriverBaseName := GetProcAddress(hPSAPI, 'GetDeviceDriverBaseNameA');
+ {procedure}@_GetDeviceDriverFileName := GetProcAddress(hPSAPI, 'GetDeviceDriverFileNameA');
+ {procedure}@_GetMappedFileNameA := GetProcAddress(hPSAPI, 'GetMappedFileNameA');
+ {procedure}@_GetDeviceDriverBaseNameA := GetProcAddress(hPSAPI, 'GetDeviceDriverBaseNameA');
+ {procedure}@_GetDeviceDriverFileNameA := GetProcAddress(hPSAPI, 'GetDeviceDriverFileNameA');
+ {procedure}@_GetMappedFileNameW := GetProcAddress(hPSAPI, 'GetMappedFileNameW');
+ {procedure}@_GetDeviceDriverBaseNameW := GetProcAddress(hPSAPI, 'GetDeviceDriverBaseNameW');
+ {procedure}@_GetDeviceDriverFileNameW := GetProcAddress(hPSAPI, 'GetDeviceDriverFileNameW');
+ @_EnumDeviceDrivers := GetProcAddress(hPSAPI, 'EnumDeviceDrivers');
+ @_GetProcessMemoryInfo := GetProcAddress(hPSAPI, 'GetProcessMemoryInfo');
+ end;
+ Result := True;
+end;
+
+function EnumProcesses(lpidProcess: LPDWORD; cb: DWORD; var cbNeeded: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _EnumProcesses(lpidProcess, cb, cbNeeded)
+ else Result := False;
+end;
+
+function EnumProcessModules(hProcess: THandle; lphModule: LPDWORD; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _EnumProcessModules(hProcess, lphModule, cb, lpcbNeeded)
+ else Result := False;
+end;
+
+function GetModuleBaseName(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleBaseName(hProcess, hModule, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleBaseNameA(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PAnsiChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleBaseNameA(hProcess, hModule, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleBaseNameW(hProcess: THandle; hModule: HMODULE;
+ lpBaseName: PWideChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleBaseNameW(hProcess, hModule, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleFileNameEx(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleFileNameEx(hProcess, hModule, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleFileNameExA(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleFileNameExA(hProcess, hModule, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleFileNameExW(hProcess: THandle; hModule: HMODULE;
+ lpFilename: PWideChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleFileNameExW(hProcess, hModule, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetModuleInformation(hProcess: THandle; hModule: HMODULE;
+ lpmodinfo: LPMODULEINFO; cb: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetModuleInformation(hProcess, hModule, lpmodinfo, cb)
+ else Result := False;
+end;
+
+function EmptyWorkingSet(hProcess: THandle): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _EmptyWorkingSet(hProcess)
+ else Result := False;
+end;
+
+function QueryWorkingSet(hProcess: THandle; pv: Pointer; cb: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _QueryWorkingSet(hProcess, pv, cb)
+ else Result := False;
+end;
+
+function InitializeProcessForWsWatch(hProcess: THandle): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _InitializeProcessForWsWatch(hProcess)
+ else Result := False;
+end;
+
+function GetMappedFileName(hProcess: THandle; lpv: Pointer;
+ lpFilename: PChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetMappedFileName(hProcess, lpv, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetMappedFileNameA(hProcess: THandle; lpv: Pointer;
+ lpFilename: PAnsiChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetMappedFileNameA(hProcess, lpv, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetMappedFileNameW(hProcess: THandle; lpv: Pointer;
+ lpFilename: PWideChar; nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetMappedFileNameW(hProcess, lpv, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverBaseName(ImageBase: Pointer; lpBaseName: PChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverBasename(ImageBase, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverBaseNameA(ImageBase: Pointer; lpBaseName: PAnsiChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverBasenameA(ImageBase, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverBaseNameW(ImageBase: Pointer; lpBaseName: PWideChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverBasenameW(ImageBase, lpBaseName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverFileName(ImageBase: Pointer; lpFileName: PChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverFileName(ImageBase, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverFileNameA(ImageBase: Pointer; lpFileName: PAnsiChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverFileNameA(ImageBase, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function GetDeviceDriverFileNameW(ImageBase: Pointer; lpFileName: PWideChar;
+ nSize: DWORD): DWORD;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetDeviceDriverFileNameW(ImageBase, lpFileName, nSize)
+ else Result := 0;
+end;
+
+function EnumDeviceDrivers(lpImageBase: PPointer; cb: DWORD;
+ var lpcbNeeded: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _EnumDeviceDrivers(lpImageBase, cb, lpcbNeeded)
+ else Result := False;
+end;
+
+function GetProcessMemoryInfo(Process: THandle;
+ ppsmemCounters: PPROCESS_MEMORY_COUNTERS; cb: DWORD): BOOL;
+begin
+ if CheckPSAPILoaded then
+ Result := _GetProcessMemoryInfo(Process, ppsmemCounters, cb)
+ else Result := False;
+end;
+
+end.
diff --git a/plugins/Watrack/make.bat b/plugins/Watrack/make.bat
index cfaf1df3e1..5ca83288a4 100644
--- a/plugins/Watrack/make.bat
+++ b/plugins/Watrack/make.bat
@@ -1,26 +1,25 @@
-@echo off
-set myopts=-dMiranda
+rem @echo off
+md tmp
+set myopts=-Sd -dMiranda -FEtmp -Fi..\Utils.pas -Fu..\Utils.pas -Fu..\..\include\delphi -Fu..\..\include\delphi\reserve
set dprname=watrack.dpr
-..\delphi\brcc32.exe res\watrack.rc -fores\watrack.res
-..\delphi\brcc32.exe lastfm\lastfm.rc -folastfm\lastfm.res
-..\delphi\brcc32.exe myshows\myshows.rc -fomyshows\myshows.res
-..\delphi\brcc32.exe players\mradio.rc -foplayers\mradio.res
-..\delphi\brcc32.exe kolframe\frm.rc -fokolframe\frm.res
-..\delphi\brcc32.exe popup\popup.rc -fopopup\popup.res
-..\delphi\brcc32.exe proto\proto.rc -foproto\proto.res
-..\delphi\brcc32.exe stat\stat.rc -fostat\stat.res
-..\delphi\brcc32.exe status\status.rc -fostatus\status.res
-..\delphi\brcc32.exe templates\templates.rc -fotemplates\templates.res
+rem brcc32.exe res\watrack.rc -fores\watrack.res
+rem brcc32.exe lastfm\lastfm.rc -folastfm\lastfm.res
+rem brcc32.exe myshows\myshows.rc -fomyshows\myshows.res
+rem brcc32.exe players\mradio.rc -foplayers\mradio.res
+rem brcc32.exe kolframe\frm.rc -fokolframe\frm.res
+rem brcc32.exe popup\popup.rc -fopopup\popup.res
+rem brcc32.exe proto\proto.rc -foproto\proto.res
+rem brcc32.exe stat\stat.rc -fostat\stat.res
+rem brcc32.exe status\status.rc -fostatus\status.res
+rem brcc32.exe templates\templates.rc -fotemplates\templates.res
if /i '%1' == 'fpc' (
- ..\FPC\bin\fpc.exe %myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
+ fpc.exe %myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
) else if /i '%1' == 'fpc64' (
- ..\FPC\bin64\ppcrossx64.exe %myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
-) else if /i '%1' == 'xe2' (
- ..\XE2\BIN\dcc32.exe%myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
-) else if /i '%1' == 'xe64' (
- ..\XE2\BIN\dcc64.exe %myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
-) else (
- ..\delphi\dcc32 -b -dKOL_MCK -dUNICODE_CTRLS %myopts% %dprname% %1 %2 %3 %4 %5 %6 %7 %8 %9
+ ppcrossx64.exe %myopts% %dprname% %2 %3 %4 %5 %6 %7 %8 %9
)
+
+move tmp\watrack.dll .
+del /Q tmp\*
+rd tmp