📄 pfgpalminstall.pas
字号:
unit pfgPalmInstall;
{**************************************************************************}
{* pfgPalmInstall Unit *}
{* *}
{* This unit provides Install an prc,pdb,pnc *)
{* InstAide.h and InstAide.dll *}
{* This unit produced by Mert ESSIZ, All Rights Reserved *}
{**************************************************************************}
interface
uses SysUtils, Classes, pfgWTypes;
type
TpfgPalmInstall = class(TComponent)
Private
FFileName : TFileName;
FUserName : String;
Procedure SetFileName(Value:TFileName);
Procedure SetUserName(Value:String);
Published
Property FileName:TFileName read FFileName write SetFileName;
Property UserName:String read FUserName write SetUserName;
Public
function Run:longint;
end;
const
ERR_PILOT_BUFSIZE_TOO_SMALL = -502;
ERR_PILOT_COPY_FAILED = -504;
ERR_PILOT_FILE_ALREADY_EXISTS = -512;
ERR_PILOT_INVALID_BUFFER = -516;
ERR_PILOT_INVALID_FILE_INDEX = -507;
ERR_PILOT_INVALID_FILE_TYPE = -515;
ERR_PILOT_INVALID_FILENAME = -506;
ERR_PILOT_INVALID_INDEX = -514;
ERR_PILOT_INVALID_PATH = -511;
ERR_PILOT_INVALID_PATH_TYPE = -509;
ERR_PILOT_INVALID_REGISTRY = -510;
ERR_PILOT_INVALID_SOURCE_FILE = -513;
ERR_PILOT_INVALID_USER = -505;
ERR_PILOT_INVALID_USER_INDEX = -501;
ERR_PILOT_NO_USERS = -500;
ERR_PILOT_NO_USERSDAT_FILE = -503;
ERR_USER_MANAGER_BASE = -550;
ERR_PILOT_NO_DIRECTORY = ERR_USER_MANAGER_BASE - 1;
ERR_PILOT_NO_USER_FILE = ERR_USER_MANAGER_BASE - 2;
ERR_PILOT_NOT_FOUND = ERR_USER_MANAGER_BASE - 3;
ERR_PILOT_BAD_FILENAME = ERR_USER_MANAGER_BASE - 4;
ERR_PILOT_USER_ACCESS = ERR_USER_MANAGER_BASE - 5;
var
PltInstallFile: function (pUser:PCHAR;pFileSpec:PCHAR): LongInt; stdcall;
procedure Register;
implementation
uses Windows, Dialogs, pfgUserData;
var
DllHandle : THandle;
DllLoaded : Boolean;
{ TPalmInstall }
procedure Register;
begin
RegisterComponents('Palm Pilot', [TpfgPalmInstall]);
end;
function TpfgPalmInstall.Run:longint;
begin
Result:=PltInstallFile(PCHAR(FUserName),PCHAR(FFileName));
end;
procedure TpfgPalmInstall.SetFileName(Value: TFileName);
begin
FFileName:=Value;
end;
procedure TpfgPalmInstall.SetUserName(Value: String);
begin
FUserName:=Value;
end;
procedure LoadDLL;
begin
if DLLLoaded then Exit;
DLLHandle := LoadLibrary(PChar(PalmPath + 'instaide.dll'));
DLLLoaded := DLLHandle >= 32;
if DLLLoaded then
begin
@PltInstallFile := GetProcAddress(DLLHandle,'PltInstallFile');
Assert(@PltInstallFile <> nil);
end;
end;
initialization
DLLLoaded := False;
LoadDLL;
if (not DllLoaded) then
begin
MessageDlg('pfgPalmInstall: Unable to load instaide.dll',mtError,[mbOk],0);
Abort;
end;
finalization
if DLLLoaded then FreeLibrary(DLLHandle);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -