- - PR -
C#2005のレポートでPDF出力すると
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-17 14:03
VisualStudio2005のC#で
http://msdn2.microsoft.com/ja-JP/library/ms252073(VS.80).aspx にそって、テストプログラムを作成しました。 日本語混じりのデータを表示されているものをPDFにエクスポートすると、 PInvokeStackImbalance PInvoke 関数 'Microsoft.ReportViewer.Common!Microsoft.ReportingServices.Rendering.ImageRenderer.CompositionPDF+WindowsGDIWrapper::GetGlyphIndicesW' がスタックを不安定にしています。PInvoke シグネチャがアンマネージ ターゲット シグネチャに一致していないことが原因として考えられます。呼び出し規約、および PInvoke シグネチャのパラメータがターゲットのアンマネージ シグネチャに一致していることを確認してください。 のエラーが出ます。 英数字のみのものはちゃんとPDFに出力されます。 Excel出力はどちらでもOKです。 回避策をご存知であれば、教えていただきたいのですが。 | ||||
|
投稿日時: 2006-03-17 19:04
こんにちは。
私も同じエラーに遭遇しました。 解決にはなっていないですが、Crystal Reports でレポートを作り直して PDF出力を実現しました。 この PInvoke のエラーの解決方法、私も教えていただきたいです。 | ||||
|
投稿日時: 2006-06-17 13:46
わたしも、以下同文で同じ問題が出ました・・・。
エラーだった関数は「FindWindowEx」です。 VB.NETの時は、通っていたのですが・・・。 Const WINDOW_NAME2 As String = "InstallShield Wizard" Const BUTTON_NAME2 As String = "完了" Dim hWnd As Long '親ハンドル Dim hChild As Long '子ハンドル hWnd = FindWindow(vbNullString, WINDOW_NAME2) 'Windowハンドルの取得 If hWnd <> 0 Then 'ハンドルを取得できなかった場合は、終了 hChild = FindWindowEx(hWnd, 0, vbNullString, BUTTON_NAME2) 'ボタンのWindowハンドルを取得する If hChild <> 0 Then 'ハンドルを取得できなかった場合は、終了 Exit Sub End If End If VB 2005初めてまだ、間もない物で・・・。 ご助力をお願いします。 [ メッセージ編集済み 編集者: rabi 編集日時 2006-06-17 13:48 ] | ||||
|
投稿日時: 2006-06-18 08:20
ここを見るに、不具合の可能性がありますね。 MSDN フォーラムへフィードバックしてみてください。 Visual Studio フィードバック 報告前に、PDF へ出力するだけのミニマム コードを作っての評価もしておくと良いと思います。 この時、アンマネージ関数などは使わないように評価してみてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-06-18 20:34
ueです。
アドバイスありがとうございます。 MSDN フォーラムへフィードバックしました。 http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=484837&SiteID=7 Kumaさん、rabiさん、フィードバックの内容に足りない部分がありましたらフォローをお願いします。 | ||||
|
投稿日時: 2006-06-19 10:38
ありがとうございます。 修正版早くできるといいですね。 |
1