掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
とあるサンプルプログラムがXE3では正しく動作しません (ID:44286)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>PCharと定義されてるものをPAnsiCharに変えてみたらどうでしょうか? ちょっと興味があり,やってみました. (1) http://www.vector.co.jp/soft/win95/prog/se358509.html からダウンロードしたファイルを解凍 (1) [サンプル集] の sampleについて.txt に書いてある うさみみハリケーンをダウンロードしようとしたが,よくわからないので, インターネットで検索し,以下からダウンードして解凍 http://www.vector.co.jp/soft/win95/prog/se375830.html (2) [Delphi] [Sample] の Project1.dpr を起動 下のコードに修正してコンパイルしたら,IDE を閉じる (3) UsaTest2.EXE を起動 これは,任意のフォルダからの起動で OK (4) [Sample] のテストプログラム Project1.exe を起動 (5) 読み込み,書き込みができることを確認 (6) UsaTest2.EXE 側での変更も取得できることを確認 おそらく,作成した DLL が Ansi版で出来ているのではないかと思われます. function ReadMemory(pname:PAnsiChar ; adr:DWORD ; var rdata:DWORD ; size:DWORD):Integer;stdcall;external 'Memory.dll'; function WriteMemory(pname:PAnsiChar ; adr,wdata,size:DWORD):Integer;stdcall;external 'Memory.dll'; procedure TForm1.Button1Click(Sender: TObject); var pname: PAnsiChar; adr,rdata,size:DWORD; begin pname := 'UsaTest2.EXE'; adr := $00402148; size := 2; if (ReadMemory(pname,adr,rdata,size) = 0) then Edit1.Text := '読み込み失敗' else Edit1.Text := IntToStr(rdata); end; 以下,同様に PAnsiChar に修正. もしかしたら, var pname : AnsiString にして, ReadMemory(PAnsiChar(pname),adr,rdata,size) のようにした方がいいかも知れません. 動作確認は,Windows 7 U64(SP1) + Delphi XE pro と Delphi XE3(UP1) Pro VCL-32 です
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.