tagCANDY CGI VBレスキュー(花ちゃん) - VB.NET を使って、プリンタに生データを送信する方法(VB.NET) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VB.NET を使って、プリンタに生データを送信する方法(VB.NET)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

VB.NET を使って、プリンタに生データを送信する方法(VB.NET) [No.155の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2007/09/12 22:10
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[印刷関係][][]                                                      *
* キーワード:プリンタ,文書番号 : 322090,サポート技術情報,,,            *
***********************************************************************************

元質問:プリンタに生データを送信する方.. - hirovox  2006/03/20-18:32 No.3341

Visual Basic .NET を使って、プリンタに生データを送信する方法。
http://support.microsoft.com/default.aspx?scid=kb;ja;322090

上記サイトにあるコードをそのままコピーペーストで実行させるとローカルのプリンタでは問題なく動作するのですが、ネットワーク接続のプリンタを選択した場合、「PInvokeStackImbalance が検出されました。
Message: PInvoke 関数 'Form1+RawPrinterHelper::OpenPrinter' がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメータがターゲットのアンマネージ シグネチャに一致していることを確認してください。」

とメッセージが表示されます。

無視して「続行」をするとちゃんと動作しているのですが、このエラーの原因、対処方法をお教えください。

-----------------------------------------------------------------------------------
Re: プリンタに生データを送信す.. - YAS  2006/03/20-19:30 No.3342
-----------------------------------------------------------------------------------

DllImportの宣言が間違っているのではないでしょうか?(自信ないけど)
例えば,OpenPrinterの宣言にpd As Longとありますが,Longの訳がないと思うんですが...
IntPtrに変えて試してみてください。
(MSのサンプルはときどき間違っていてそのまま実行できないことがあると思います)

        Public Shared Function OpenPrinter(ByVal src As String, _
               ByRef hPrinter As IntPtr, ByVal pd As Long) As Boolean
        End Function


        Public Shared Function OpenPrinter(ByVal src As String, _
               ByRef hPrinter As IntPtr, ByVal pd As IntPtr) As Boolean
        End Function

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ