- - PR -
プリンタ詳細ダイアログで設定した情報をセーブ/ロードしたい
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-01-07 23:22
ああ、確かにそうなっているように見えますね。大変、失礼いたしました。.NET のことは良く分かっていないもので流し読みしてしまいました。他には、br.ReadBytes で反復読み取りできるのか?など気になる部分もあるのですが、なにぶん .NET のことが分からないので、これ以上はお力になれそうもありません。すみません。 | ||||||||||||
|
投稿日時: 2008-01-08 07:43
具体的にどの行で止まるのですか? SetHdevmodeで止まるのか、GlobalUnlockなのか。 ハンドルされていない例外となるのであれば、Finallyブロックの中でしょうか? 試していない為、外しているかもしれませんが、気になる点として書いておきます。 ・GlobalUnlockをSetHdevmodeよりも先にしなくて問題ないか? ・SetHdevmodeに与えるのはPtrDevModeではないか? ・解放責任は誰が持つべきか?(設定に成功した場合は解放する必要があるかないか) | ||||||||||||
|
投稿日時: 2008-01-08 17:07
dsp.DefaultPageSettings.SetHdevmode(globalDevOut)でStackOverflowExceptionが発生します。
は、やってみたのですが、どこかで無限ループに入ってしまっているようで固まったままになります。 ちなみに、SetHdevmode後のPrinterSettingsのメンバをトレースなどで参照すると止まる(落ちる)ようです。
ここら辺の知識がWindowsアプリケーションの場合、私の頭の中ではあいまいです。 UNIX系(C言語)のメモリ管理はよく分かっているのですが…。 申し訳ありませんが、引き続きアドバイスいただけましたら幸いです。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2008-01-09 01:28
次の記事を参考にする限り、GlobalUnlockしてPtrDevModeを渡すのだとは思います。 http://bbs.wankuma.com/index.cgi?mode=al2&namber=2377&KLOG=2 ところで、DEVMODE構造体はどのように定義されていますか? |