C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.6858 の関連記事表示

<< 0 >>
■6904  Re[7]: (削除)
□投稿者/ 中博俊 -(2006/09/28(Thu) 00:14:25)
>

    分類:[C#] 

    記事を削除しました。

    中@管理人
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6896  (削除)
□投稿者/ -(0001/01/01(Mon) 00:00:00)

    分類:[C#] 

    この記事は(管理者)削除されました
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6892  Re[5]: C#.netからExcel経由での印刷ができない
□投稿者/ UFO -(2006/09/27(Wed) 19:16:48)

    分類:[C#] 

    プリンタの設定の問題でした
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6886  Re[4]: C#.netからExcel経由での印刷ができない
□投稿者/ はいこーん -(2006/09/27(Wed) 16:19:06)

    分類:[C#] 

    No6885に返信(UFOさんの記事)
    > 解決できました!
    > ありがとうございました!!!

    マナー違反を犯しておいてこの対応は何?
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6885  Re[3]: C#.netからExcel経由での印刷ができない
□投稿者/ UFO -(2006/09/27(Wed) 16:17:27)

    分類:[C#] 

    解決できました!
    ありがとうございました!!!
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6864  Re[2]: C#.netからExcel経由での印刷ができない
□投稿者/ UFO -(2006/09/26(Tue) 20:55:29)

    分類:[C#] 

    ローカルでデフォールトプリンタが認識できますが、
    IPでアクセスすると認識なくなってます。
    なので、今の問題はプリンタの設定となります。
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6863  Re[1]: C#.netからExcel経由での印刷ができない
□投稿者/ (報告) -(2006/09/26(Tue) 20:25:39)
記事No.6858 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6858  C#.netからExcel経由での印刷ができない
□投稿者/ UFO -(2006/09/26(Tue) 17:21:58)

    分類:[C#] 


    分類:[C#] 

    OS:WindowsServer2003 言語:C#.net2005

    サーバで開発してます。
    ローカルでVWD2005でデッバグすると、問題なく、うまく印刷できてからプロセスの中のEXCEL.EXEは消えます。
    IISを使って、IPでアクセス(リモート)してみたら、印刷前のことは大丈夫ですが、@印刷ができなくなってしまいます(プリンタプールにまったく入らない)。Aプリント部分をソースを消してやっても、サーバのプロセスの中の全てのEXCEL.EXEは消えません。

    なので、ソースの問題ではなく設定の問題じゃないかなぁと考えてます。
    何か設定などが必要なのか、どなたかお知恵を拝借できるとありがたいです。

    **************************  ポイント  *************************************************************

    EXCELファイルを新規して保存できるため、
    IISを設定する時に、ASP.NETバージョン2.0.50727 に設定してます。ASPの構成の設定の中で、アプリケーション→IDの設定に「ローカル偽装」と設定しております。

    プリンタのほうに、すべてのユーザにすべての権限を渡してますのに。

    以上宜しくお願いします。

    **************************  ソース  ************************************************************

    Excel.Application objApp;
    Excel._Workbook objBook;

    Excel.Workbooks objBooks;
    Excel.Sheets objSheets;
    Excel._Worksheet objSheet;
    Excel.Range range;

    try
    {
    // Instantiate Excel and start a new workbook.
    objApp = new Excel.Application();
    objBooks = objApp.Workbooks;

    objBook = objBooks.Open(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    objSheets = objBook.Worksheets;
    objSheet = (Excel._Worksheet)objSheets.get_Item(1);

    ................
    ................
    ................

    //Return control of Excel to the user.
    objApp.Visible = true;
    objApp.UserControl = false;

    objBook.Save();

    //ExcelファイルをDocuWorksファイルにPrintOut
    objBook.PrintOut(Type.Missing, Type.Missing, 1, false, "Canon LASER SHOT LBP-1810", Type.Missing, Type.Missing, Type.Missing);

    System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheet);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheets);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objBook);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objBooks);
    objApp.Quit();
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp);
    }
    Catch(Exception theException)
    {
    ............
    }
親記事 /0過去ログ6より / 関連記事表示
削除チェック/

■6858  Re[4]: Control.Invokeが使えない件。
□投稿者/ れい -(2007/08/25(Sat) 04:48:28)
    No6851 (渋木宏明(ひどり) さん) に返信
    > 「Control.Invoke() の使用による不都合の原因は Windows のメッセージング機構に問題がある」という話だと思ってたんですが、そうではなくて「不都合の原因は Control.Invoke() の実装にあるのでは?」というお話なんですね?

    そうです。
    内部でAsyncWaitHandleをずっと待ち続けてるようなので、

    No6852 (NyaRuRu さん) に返信
    > あと,単にメッセージポンプが止まっただけのような状況を私はデッドロックとは呼んでこなかったのですが,今回の件をデッドロックと呼ぶのは混乱の元だったりしませんか?

    ポンプが止まってるだけではないですが、
    おっしゃるとおり、デッドロックではないですね。
    ロック持ち合ってるわけじゃないですから。
    ハングですね。

    No6856 (渋木宏明(ひどり) さん) に返信
    >>Control.InvokeはGUIが無くても止まりますので、今回はあまり関係ないです。
    > GUI の無い Control.Invoke() ってどゆこと???

    あっと、失礼。言葉が足りない。
    Invokeされる側でなく、Invokeする側の話です。
    Invokeする側はControlを持たないWorkerThreadでも、ハングします。

    No6854 (NyaRuRu さん) に返信
    >>Control.InvokeはGUIが無くても止まりますので、今回はあまり関係ないです。
    > うーん,本当に関係ないんですかねぇ?
    > 私がいいたいのは GUI あるなしじゃなくて,メインスレッドにおける Application.Run(new Form1()); がワーカースレッドにないことの影響とか,ちゃんと考えました? ということなのですが.

    Appication.Runで何か特殊なことをやってるかもしれませんが…。
    メインスレッドからサブスレッドのFormにInvokeしても、
    サブスレッドからメインスレッドのFormにInvokeしても同じでしたから、
    まぁあんまり関係ないかと思ってるんですが。
    Application.Runが影響してるんだとするとかなり醜い実装ですねぇ。

    No6851 (渋木宏明(ひどり) さん) に返信
    > きわどいタイミングでメッセージ伝達が起きないように VC++ を多用していた頃からオブジェクトの寿命管理を徹底しています。

    私も結局自分で同期機構を入れてスレッド間通信してしまってるんですが、
    せっかくあるのに、使いようがないというのが何とも気になります。

    No6855 (渋木宏明(ひどり) さん) に返信
    >>あと,単にメッセージポンプが止まっただけのような状況を私はデッドロックとは呼んでこなかったのですが,今回の件をデッドロックと呼ぶのは混乱の元だったりしませんか?
    > 例えば、ワーカスレッドでウィンドウを作ったとして、同じスレッドでメッセージポンプを回さないのはまずいすね。
    > Control.Invoke() の実装が SendMessage() ではなく PostMessage() を使用しているなら、メッセージ送信先でメッセージポンプが回っていなければメッセージキューが詰まった時点でブロックかな?
    > SendMessage() を使っていれば同期的に WndProc() が直接呼び出されるので、そういう「ふん詰まり」は原則おきませんが。

    件のコードではShowDialogで回してます。
    Control.Invokeの実装は間違いなくPostMessageです。
記事No.6843 のレス /過去ログ18より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -