タイトル : Re^3: CreateDC実行でプログラムがダウンする 投稿日 : 2008/08/23(Sat) 11:43 投稿者 : 魔界の仮面弁士
> その辺は何度も確認しましたので、問題ないと思います。 次回質問時からは、Declare 部と呼び出し部の両方を投稿していただけますでしょうか。 そうすれば、コードに問題が無いという事が、掲示板を見ている第三者にも確認できます。 > MsgBox "CreateDC開始" > Phdc = CreateDC(Printer.DriverName, Printer.DeviceName, 0&, 0&)←ここでダウンする > MsgBox "CreateDC終了" & Phdc ←ここまで来ない 個人的な予想では、ByVal / ByRef の間違いで落ちている可能性が高いと思います。 ただし必ずしも、その原因が上記 CreateDC だけにあるとは限りません。 API の使い方を間違えている箇所があると、そのあおりで、他の場所のデータまでが まきこんで破壊されてしまう可能性がありえるためです。 特に、開発環境ではたまたま動いてしまっていたものが、コンパイルによる 最適化によって、問題が顕在化するというケースもあります。 > 宣言、使用、ハンドルの削除全て、上記の形を使用してやってみましたが、結果は変わりませんでした。 それは、既存のプロジェクトの修正でしょうか? もしそうであれば、新規プロジェクトを 立ち上げ、CreateDC / RelaseDC するだけのテストアプリを作って試してみてください。 それで問題が無ければ、元プログラムの他の個所に原因があるのかも知れません。 あるいは、テスト PG を作ってみても、やはりエラーで先に進めないのであれば、 そのコードを、そのまま掲示板にコピー & ペーストして投稿してみてください。 現象を再現可能なコードがあれば、掲示板を見ている第三者も動作をテストできるので、 環境の問題なのか、コードの問題なのか、あるいは製品のバグなのか、具体的な 問題の切り分けを行いやすくなります。 |