無人実行は、VB6 バイナリがインタラクティブなダイアログ、つまりWeb クライアントが表示または対話できないサーバー上のウィンドウを表示するのを防ぎます。
これは、Msgbox() または実行時エラー ポップアップの可能性があります。無人実行にフラグが立てられると、ランタイム エラーが Windows イベント ログに記録されます。
メモリに保持すると、IIS (またはホスト) がすぐに DLL を解放できなくなります。ホストの設定によっては、DLL がメモリに保持され、再利用されます。一部のホスト (IIS など) は、しばらくしてから DLL をリリースします。
関連項目: Msvbvm60.dll の最新バージョンで、無人実行オプションとメモリに保持オプションを構成できます。
Microsoft Transaction Server (Mtx.exe) などのマルチスレッド環境で Microsoft Visual Basic Enterprise Edition for Windows 6.0 コンポーネント (Microsoft ActiveX DLL) をホストするには、コンパイルの前に [無人実行] オプションと [メモリに保持] オプションをオンにする必要があります。 、インターネット インフォメーション サービス (Inetinfo.exe)、COM+ (Dllhost.exe)、および Microsoft SQL Server 7.0 または SQL Server 2000 (Sqlservr.exe)。ただし、コンポーネントがそのような環境で使用されるかどうかわからない場合や、[無人実行] オプションと [メモリに保持] オプションをオンにするのを忘れている場合があります。この問題に対処するために、最新バージョンの Visual Basic ランタイム (Msvbvm60.
および: Visual Basic 6.0 ActiveX コンポーネントのスレッドの問題
- MSVBVM60.DLL 内のアクセス違反。
- クライアントがデッドロック状態になります。これら 2 つの症状は、Visual Basic ActiveX DLL がマルチスレッド環境 (IIS、MTS、マルチスレッド クライアントなど) でホストされていて、[メモリに保持] オプションが有効になっていない場合に発生することがあります。
そしてもちろん: Visual Basic リファレンス [全般] タブ ([プロジェクト プロパティ] ダイアログ ボックス)
無人実行プロジェクトがユーザーの操作なしで実行されることを意図していることを示します。無人プロジェクトにはインターフェース要素がありません。メッセージなど、通常はユーザーの操作につながるランタイム関数はすべて、イベント ログに書き込まれます。
Retained in Memoryプロジェクトをメモリに保持します。ただし、パフォーマンス コストがあります。メモリに保持されているプロジェクトは、プロセスが終了するまでアンロードされません。