喫茶XRAYトップページ

[スレッド全体
]

[7771] Re6:保存したプリンター情報のロードについて返信 削除
2014/7/15 (火) 18:27:52 Mr.XRAY
▼ Saraさん

> プリンター情報の保存時にTOSVersion.Architectureを一緒に保存しておいて、
>
> それを比較すれば・・・どうでしょうか・・・


そうですねぇ.今のところ,これがいいのではないかと思われますね.
何か情報がありましたら,また...


[7838] Re7:保存したプリンター情報のロードについて返信 削除
2014/8/26 (火) 11:15:33 Sara
▼ Mr.XRAYさん

このスレの開始に、
>OSを32Bitから64Bitに入れ替えた場合、プリンター名は同じでもプリンター
> ドライバー自体は別物になっています。
>
>この時、保存したプリンター情報をロードすると、当然正常に動作しない
> わけですが、保存したプリンター情報が現状で利用可能かどうか調べる
>方法はありますでしょうか?


と、書いて始めたスレなわけですが・・・

実際に、64Bit、32Bitの両OSでプリンター情報を保存して見たところ・・・

若干の違いしか無さそうな・・・(^^;

で、会社のDocuCenter C3370の情報をWindows8 64Bitで保存して、
Windows7 32Bitに読み込ませてみた・・・

特にエラーが起きない・・・


さらに、Windows7 32Bitで保存したMG6230の情報をWindows8 64Bitでロード
してみたところ・・・問題なく設定が反映されました・・・
あれ? 用紙サイズだけ反映されていない・・・

この時、設定したのは以下の内容


用紙の種類:写真用紙 光沢ゴールド
出力用紙サイズ:L版
印刷品質:きれい
給紙方法:後ろトレイ
ページレイアウト:フチなし全面
はみ出し量:左から2番目


ここで、反映されなかったのは、出力用紙サイズ・・・L版がA4になった。

逆に上記と同じ内容をWindows8 64Bitで行って、Windows7 32Bitで確認してみた。
すると、やはり、出力用紙サイズだけA4になった・・・

出力される情報としては、ほぼ同一の内容だが、若干の違いがあるだけで
エラーにはならないようだ・・・

さらに、2種類のプリンターに対して保存とロードをしてみたが、
完全に反映されるものと、一部のみ反映されるものがあったが異常終了はしなかった。

と、言うわけで、保存した情報のプリンター名をもとに検索して、同一名の
プリンターが無ければ、ロードしないとすれば、問題ないと思われます。(^^;



[7840] Re8:保存したプリンター情報のロードについて返信 削除
2014/8/26 (火) 19:43:08 Mr.XRAY
お疲れ様です.

>と、言うわけで、保存した情報のプリンター名をもとに検索して、同一名の
>プリンターが無ければ、ロードしないとすれば、問題ないと思われます。(^^;


それがベターではないかと... (^^;
DEVMODE 構造体の値が,特にプリンタドライバ固有の領域は,
ドライバによって異なります.
したがって,保存した情報を読み出す際,その読み出すシステムの
通常使用するプリンタの DEVMODE 構造体が同じでないと,再現は困難
なのではないかと思います.


[7842] Re9:保存したプリンター情報のロードについて返信 削除
2014/8/26 (火) 19:49:58 Mr.XRAY
> したがって,保存した情報を読み出す際,その読み出すシステムの
> 通常使用するプリンタの DEVMODE 構造体が同じでないと,再現は困難
> なのではないかと思います.


DEVMODE 構造体の,ドライバ特有の領域を除いて保存して,
その部分だけの再現は可能だと思います.

ただし,以下のサンプルのコードで取得可能な値だけとなります.

http://mrxray.on.coocan.jp/Delphi/plSamples/011_DEVMODE_Structure.htm

実は,これも問題があります.
別のドライバでも,同じドライバの情報を,保存したデータから読み出す時,
メモリ領域の確保と,読み出した情報を,そのメモリ領域の指定部分に,
どのように格納するかという問題です.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82