⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pfgpalminstall.pas

📁 delphi编写与Palm数据交换管道连接程序。
💻 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 + -