2

これは、構成に関するものであるため、プログラミングの問題ではありません。

Delphiで記述されたEXEがあります。私のじゃない。ショートカットから直接実行でき、正常に実行されます。スケジュールされたタスクを設定しようとすると、毎回クラッシュします。

モジュール[ファイル]の[16進アドレス]で違反にアクセスします。アドレス00000000の読み取り

これは、タスクを実行するか、スケジュールにタスクを実行させるかに関係なく発生します。

今、楽しい部分です。これは、Windows732ビットで発生します。WindowsXPのタスクスケジューラで正常に動作します。

DEPを有効にし、互換性をXPsp3に設定しました。7では実際には利用できないのに、 SchedulerサービスをInteractWithDesktopに設定しました。

タスク用に設定されたユーザーは、私がログインしているのと同じユーザーです。

プログラムにはUIコンポーネントがあるため、ユーザーがログインしているときにのみ実行するように設定されています

これを担当するベンダーは、正常に動作するはずであり、それらから使用する他のすべてのアイテムはクラッシュすることなく実行されると言っているので、私は何でも試してみるつもりです。

編集:要求された情報の追加:
1。サービスの場合、タスクスケジューラは必要ありません。データベースに保存されているドキュメントのバーコードスキャンを行うのは通常のGUIですか。
2.ベンダーは私と同じように立ち往生しています。そして、これを修正するために多くの努力を払うことを望んでいません。今年はそれらから離れようとしているので、それは論点になるかもしれません。

4

1 に答える 1

3

メッセージ()のエラーアドレスはRead of address 00000000nullポインタ例外です。Delphiでは、通常、作成前にオブジェクトインスタンス(コンポーネントなど)にアクセスしようとすると発生します。

それ以外に、問題の解決に役立つ情報は提供されていません。アプリケーションの種類(サービス、通常のGUIアプリケーション、コンソールアプリケーション)についての情報は、Delphiで記述されており、UIコンポーネント(Vistaより前のサービスで許可されていたもの)があり、スケジューラによって開始されました。あなたはそれが何をするかについての情報、またはアプリケーション自体についての他の詳細を持っています、それは役に立つかもしれません。

エラーダイアログのスクリーンキャプチャをベンダーに送信し、「正常に機能する」ように見えるかどうかをベンダーに尋ねます。のような例外処理パッケージに投資することをお勧めします。MadExceptまたはEurekaLog、スタックトレースを読み取り可能な形式で提供し、送信して問題を追跡できるようにします。彼らがそうする気がない場合は、新しいベンダーを見つけてください。

于 2012-09-20T19:45:04.353 に答える