喫茶XRAYトップページ


[13502] 32 ビットと 64 ビットの判定返信 削除
2022/9/29 (木) 10:08:23 Mr.XRAY
こんなの UP しました.
ほとんど必要はないと思いますが.

[ 04_EXE や DLL の 32 ビット / 64 ビット判定用プログラム ]
http://mrxray.on.coocan.jp/Delphi/Others/32bitOr64bit.htm#04


[13503] Re:32 ビットと 64 ビットの判定返信 削除
2022/10/4 (火) 04:32:25 DEKO
後は TDUMP.EXE を使うとか。
https://qiita.com/ht_deko/items/a36419b949c8b7e76912

[13504] Re2:32 ビットと 64 ビットの判定返信 削除
2022/10/5 (水) 12:02:32 Mr.XRAY
> 後は TDUMP.EXE を使うとか。
> https://qiita.com/ht_deko/items/a36419b949c8b7e76912


こんなのがあるんですね.知りませんでした.
リンクを追加させていただきました (^^)


[13505] Re2:32 ビット / 64 ビット同時コンパイル返信 削除
2022/10/5 (水) 13:08:17 Mr.XRAY
> 後は TDUMP.EXE を使うとか。
> https://qiita.com/ht_deko/items/a36419b949c8b7e76912


コンパイル,これも知りませんでした.
便利になっているんですね.ホント.
とりあえず追加しておきました.
後で適当なページに移動するかも知れません.

[ 05_プロジェクトを 32 ビット / 64 ビットとして同時にコンパイル ]
http://mrxray.on.coocan.jp/Delphi/Others/32bitOr64bit.htm#05


[13506] Re:32 ビットと 64 ビットの判定返信 削除
2022/10/7 (金) 14:31:03 Mr.XRAY
> [ 04_EXE や DLL の 32 ビット / 64 ビット判定用プログラム ]
> http://mrxray.on.coocan.jp/Delphi/Others/32bitOr64bit.htm#04


Delphi 付属の TDUMP.exe に対抗してコマンドラインに対応しました.
exe 名の 32bit_or_64bit が長くて使いづらいと感じたら,
適当に名前を変更してください.

対抗する必然性はありませんが,悔しいので (^^;)


引数付きで起動した場合,フォームを非表示にして実行して,
コマンドプロンプトにアタッチして操作しています.
バッチファイルによる実行ではないので,@echo off が使用できません.
そこで,現在のカーソル以下を消去して,Writeln などを使用して結果を表示しています.
コンソールアプリもどきですね.

このような場合,処理が終了したらアプリの終了処理が必要です
( メインフォームのメソッドで処理した場合は Close メソッドを実行 ).
そうしないと,EXE がメモリに残ったままになります.


[13507] Re2:32 ビットと 64 ビットの判定返信 削除
2022/10/11 (火) 10:05:17 Mr.XRAY
> > [ 04_EXE や DLL の 32 ビット / 64 ビット判定用プログラム ]
> > http://mrxray.on.coocan.jp/Delphi/Others/32bitOr64bit.htm#04


コマンドラインの処理に不具合が見つかったので修正しました (^^;)


[13508] Re3:32 ビットと 64 ビットの判定返信 削除
2022/10/12 (水) 09:23:25 M&I
ご無沙汰しております。

参考までにこんなのもあります。
http://cc.embarcadero.com/item/27554(表示に時間がかかります)

この中のFPCフォルダに含まれるサンプルプログラムGetExeInfoShellExt64.dllを
管理者権限コマンドプロンプトでregsvr32 GetExeInfoShellExt64.dllを実行して
登録すると、ファイルエクスプローラでEXEかDLLファイルを選択した場合にコン
テキストメニューにShow target platform ...が追加されて、選択した実行ファ
イルがx86かx64かを表示してくれます。

尚、Delphi用のサンプルプロジェクトGetExeInfoShellExt.dprojは私の環境では
コンパイルエラーとなりました(Lazarus用のGetExeInfoShellExt64.lprはOK)。

※ソースコードGetExeInfoU.pasが参考になるかもです。


[13510] Re4:32 ビットと 64 ビットの判定返信 削除
2022/10/12 (水) 13:37:47 Mr.XRAY
▼ M&Iさん,どうもです.
こんな便利なのがあるんですね.
そういえば,CodeCentral には結構いろいろあるんでした.

 http://cc.embarcadero.com/item/27554(表示に時間がかかります)
オンラインの記事表示に時間がかかるのはエンバカデロの得意技ですから.(^^)


[13511] Re4:32 ビットと 64 ビットの判定返信 削除
2022/10/12 (水) 14:01:43 Mr.XRAY
> ※ソースコードGetExeInfoU.pasが参考になるかもです。

見てみました.

function ImageNtHeader (ImageBase: Pointer) : PImageNtHeaders; stdcall;
                                                        external 'imagehlp.dll';

こんなのがあったんですね.知りませんでした.
PE ヘッダを解析しなくても ImageHeader を読み出すことができてしまう・・・
もっとも,解析とは言っても,読み出してシーク (読み出し位置を移動) するだけですが.


[13513] サイトの記事に追加返信 削除
2022/10/13 (木) 15:48:23 Mr.XRAY
> 参考までにこんなのもあります。
> http://cc.embarcadero.com/item/27554(表示に時間がかかります)


DEKO さんがし教えてくれた TDUMP と共に,勝手にサイトの記事に追加させて頂きました.
ご了承ください.


[13512] x86 と x64返信 削除
2022/10/12 (水) 15:28:56 Mr.XRAY
> 対抗する必然性はありませんが,悔しいので (^^;)

32 ビットのプロジェクトで使用する DLL などを入手する際,
Windows が 64 ビット版なので x64 版をタウンロードする方がいます.
どこかで,この x86 と x64 のことを説明しようかな,と思っていました.
DEKO さんの書き込みが切っ掛けで,[備考] としてですが,説明することになりました.

もう少し分かりやすい文章にできたらとは思いますが.とりあえず,ということで.
こういった表記は,企業の思惑や歴史的経過もあり,難しいところです.


[13509] Re:32 ビットと 64 ビットの判定返信 削除
2022/10/12 (水) 13:20:12 Mr.XRAY
> [ 04_EXE や DLL の 32 ビット / 64 ビット判定用プログラム ]
> http://mrxray.on.coocan.jp/Delphi/Others/32bitOr64bit.htm#04


ARM64 を検出できるようにしました.
ARM64 版の Windows が普及するかは不透明だそうです.

[ Microsoft、ARM64向け「Windows 11」仮想マシンを公開 ]
https://forest.watch.impress.co.jp/docs/news/1348765.html

TEdgeBrowser コンポーネントに必要なランタイムライブラリには,ARM64 用があります.

[ 02_ランタイムライブラリのインストール ]
http://mrxray.on.coocan.jp/Delphi/plSamples/936_WebView4Delphi.htm#02


INCM/CMT
Cyclamen v3.82