初めて利用させて頂きます。
WinXPが故障でWin10に更新しました。ところが一部の印刷プログラムが実行時dll無いとメッセージがでます。
dllの読み込み指定
type
TIMPP_POC = record
PaperSet,Sheet,LengthX,LengthY,Jyoutan,Duplex,Color,BothPrt,
AutoChange,Renzoku,RenJyotan,RenTani,MisOver,OverStep,OvePos1,
OvePos2,Denth: WORD;
rsv: Array[0..6] of WORD;
end;
type
TIMPP_DOCINFO = record
cbSize : Integer;
lpszDocName,lpszOutput : LPSTR;
end;
Const
TestLib = 'C:\WINDOWS\SYSTEM32\F5CMILIB.DLL';
Var
Form1 : TForm1;
Phnd : HDC;
P_Poc : Timpp_poc;
DocTb : TIMPP_DOCINFO;
function Impp_Open(hWnd: HWND;hdc: Pointer;PrinterName: LPSTR;
lpdi:Pointer;mode: WORD):WORD; stdcall; external TestLib;
function Impp_Close(hdc: HDC):WORD; stdcall; external TestLib;
・
・
調べてみたところ、古い指定のようです。どなたか教えて下さい。
単純にDLLファイルが無い というのはないとして
こんな感じでDLLが読み出せる状態にあるのか確認からですかね?
procedure TFormMain.Button1Click(Sender: TObject);
const
LIB_NAME = 'F5CMILIB.dll';
var
FDllHandle : THandle;
begin
FDllHandle := LoadLibrary(LIB_NAME);
if FDllHandle = 0 then begin
MessageDlg(LIB_NAME + ' が見つかりません', mtWarning, [mbOK], 0);
end;
end;
ドライバーは OS が 32Bit と 64Bit 自動判定でインストールされるみたいだけど
ターゲットプラットフォームは ドライバーと 32/64Bit あってる?
64bit OS で 32bit でビルドしてたら無理だよ
ツイート | ![]() |