暇つぶし2chat TECH - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト702:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) 17/02/20 07:23:54.57 73+nzjfL0.net >>683 日本では回避ツール作るのも違法。 703:610 (ワッチョイ 6b90-XdR7) 17/02/20 10:04:48.66 Vf7595PK0.net >>687 yield returnというのを忘れていました 引数のthisを忘れていたのに拡張メソッドみたいに呼べたのが不思議です。エラー出ると思ってました 704:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) 17/02/20 11:08:17.98 M0lXkX5gM.net 文字列ポインタを返すC言語のwin32 dll を VS2005のWindowsアプリで利用しているのですが、今までWindowsXPで動作していたものをWindows7で動作させると関数から戻ってくる時に死んでしまいます。情報を送信する旨のダイアログの出るヤツです。 <hoge.dll> BYTE msg[1024]; BYTE* WINAPI hoge(WORD w) { sprintf(msg, "xxx"); return msg; } <FormMain.vb> <DllImport("hoge.dll")>Public Shared Sub hoge(Byval w As Int16) As String End Function Dim msg As String = Space(1024) Call部分-> msg = hoge(0) dllで領域確保した文字列ポインタをvbで領域確保したString型に代入している部分がおかしいのでしょうか? 同じやり方の別アプリはWindows7でも問題なく動作しているらしいです。 回避策としては、StringBuilderを引数にして情報を取得する方法を考えてますが、原因を知りたいです。 何かヒントを頂けないでしょうか。よろしくお願いします。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch