喫茶XRAYトップページ

[スレッド全体
]

[9704] 告白返信 削除
2016/4/6 (水) 00:33:34 snail
本当は前々から疑問に思っていました。
しかしとりあえず動いているし問題無いことにしよう。
と今日まで問題を先送りにしてきました。

本題
1.プリンタがインストールしてあるマシンでプレビューコンポーネント
  を使ったプログラムを用意します。

2.このマシンに別マシンからリモート接続します。するとリモート側の
  プリンタも接続時にリダイレクトされて当初のマシンではみかけじょう
  プリンタが増えます。
  ここでプレビューコンポーネントを使ったプログラムを起動して
  プレビューします。
  通常リモート側のプリンタが標準のプリンタになっています。

3.リモート接続を解除するとプリンタは元々インストールしてあった
  プリンタだけになります。

4.再度リモート接続すると、アプリはエラーダイアログを表示しています。

・問題はリモート接続の接続、切断のたびにプリンタの数が変動するのですが
 プレビューコンポーネントはリモート接続の有無を認識する仕掛けが無い
 のできっとアプリで何かしなければいけない。のではないか?
 どうすれば良いかわからない。とりあえず今日は寝てしまおう。

神様どうか体力が無くてすぐ寝てします爺をお救い下さい。




[9706] Re:告白返信 削除
2016/4/6 (水) 09:30:44 Mr.XRAY
▼ snailさん

> ・問題はリモート接続の接続、切断のたびにプリンタの数が変動するのですが
>  プレビューコンポーネントはリモート接続の有無を認識する仕掛けが無い


あっ,これですね.そうかも知れません.
取りあえず,何とか自力で解決してください,なんてね...
後で [ヒント・検討事項・バグ等] の方には書いておきますので.(^^;


[9708] Re2:告白返信 削除
2016/4/7 (木) 11:35:49 snail
▼ Mr.XRAYさん
> ▼ snailさん
> 取りあえず,何とか自力で解決してください,なんてね...


がんばりますんで見捨てないでやって下さい。

とりあえず1つ教えて下さい。

TplSetPrinter は

>設計時のプロパティを,コード上の再設定なしで実行環境で再現します.
>(実行環境に、設計時と同じプリンタ名のプリンタと同じバージョンのドライバが存在する場合).


と書かれていますが、どこに記録されていますか。

>procedure TplSetPrinter.ReadDesignValues(Reader : TReader);
>var
>    Orient : Integer;
>begin
>    try
>      Reader.ReadListBegin;
>      FPrinterName   := Reader.ReadString;
>      Orient         := Reader.ReadInteger;


ここで読み出している?と思いますが、実際のデータはどこに存在するのか
あと、どのタイミングで記録されるか教えて下さい。

よろしくお願いします。



[9711] Re3:告白返信 削除
2016/4/7 (木) 14:32:44 Mr.XRAY
▼ snailさん

痛いところ突かれてしまうなぁ.

> >設計時のプロパティを,コード上の再設定なしで実行環境で再現します.

この機能は必要なかったですね.後から考えると.
結局,今回のような「悪さ」の元ですね.

回避策,対策を考えてみます.
ちょっと,時間ください.お願い....


[9712] Re4:告白返信 削除
2016/4/7 (木) 17:39:31 snail
▼ Mr.XRAYさん

> 回避策,対策を考えてみます.
> ちょっと,時間ください.お願い....


悪さしていたのは中途半端にインストールされていたプリンタドライバーでした。

OneNote 2013とMicrosoft XPS Document Writerプリンタを削除したら
無事にフォームを開くことができました。
お手数をおかけしてすみませんでした。

設計時はプロパティは xx.dfm から取り出すのは確認しましたが
実行時はやっぱり exe に入っているんですよね。




[9713] Re5:告白返信 削除
2016/4/7 (木) 18:44:23 Mr.XRAY
▼ snailさん

> 設計時はプロパティは xx.dfm から取り出すのは確認しましたが
> 実行時はやっぱり exe に入っているんですよね。


です.
やはり,どう考えてもこの仕様はマズかったです.
当時,職場の方が使用している形態から考えたのですが,
その後,職場もネットワークプリンタが普及して,必要性が... (^^;

>悪さしていたのは中途半端にインストールされていたプリンタドライバーでした。

本当は,こういうことで誤動作するのはマズいんですけどね.
スミマセンね,できの悪いコンポーネントで.
いえ,あの,snall さんにだけではなく,皆さんに (汗)


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