問題タブ [4d-database]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 64 ビット PowerShell が 32 ビット DLL を呼び出す
Windows 10 コンピューターで、PowerShell スクリプトを使用して 4th Dimension (4D) データベースから QuickBooks を呼び出しています。スクリプトはQBXMLRP2.dll
、32 ビット COM オブジェクトである を呼び出して、QuickBooks 2019 と通信します。私が理解しているように、64 ビット バージョンの PowerShell を使用して 32 ビット dll を呼び出すと失敗し、その逆も同様です。ただし、4D の 32 ビット バージョンと 64 ビット バージョンのどちらを使用するかによって、異なる結果が得られます。これは私には意味がありません。ここに私のテスト結果があります:
64 ビット バージョンの PowerShell/32 ビット dll が 32 ビット バージョンの 4D で動作する理由について何か考えはありますか? 私が本当に望んでいるのは、4D と PowerShell の 64 ビット バージョンで動作することです。
質問に答えて... これが私がやっていることです。4D はまず.ps1
スクリプト ファイルを作成してディスクに保存し、次に外部プロセスで PowerShell を起動します。たとえば、これは 64 ビット PowerShell (Windows 10) を起動し、PowerShell は以前に保存したスクリプトを実行します。
PowerShell スクリプトは次のようになります。
私が理解しているように、PowerShell が起動されると、4D は見えなくなります。4D は dll と対話しません。すべて PowerShell/dll (COM)/QuickBooks です。