喫茶XRAYトップページ

[スレッド全体
]

[12302] 別プロセスのメッセージを捕捉返信 削除
2018/9/20 (木) 16:28:00 Mr.XRAY
[DLL上の例外をコピーした文字列をFreeLibraryにアクセスとエラーになる]
http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+201809/18090005.txt

でレスしたコードの実行結果です.


[12321] Re:別プロセスのメッセージを捕捉返信 削除
2018/9/22 (土) 07:35:43 SO
▼ Mr.XRAYさん
> [DLL上の例外をコピーした文字列をFreeLibraryにアクセスとエラーになる]
> http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+201809/18090005.txt


そもそも、お作法的にバグのような。。。

あと、StrPCopyでエラーにならないって、まぁいいですけど(たまたまだし)、
StrPCopy自体がNULL終端を期待しての動作なので、
void *memcpy(void *buf1, const void *buf2, size_t n);
みたいに、サイズ指定があるものを使用したほうがいいですよね。

通りすがりさんが書いている、「要はWin32APIのような作りにする、ということです。」で分かって欲しいような。

[12325] Re2:別プロセスのメッセージを捕捉返信 削除
2018/9/22 (土) 16:52:31 Mr.XRAY
> そもそも、お作法的にバグのような。。。

御意 !!

> あと、StrPCopyでエラーにならないって、まぁいいですけど(たまたまだし)、

御意 !!
以下「御意 !!」になってしまう可能性があるので省略 (笑)
taka さんがヘルプを調べてくださっていますね.
お疲れ様です.
AAA さんも,こういうことを確認,調べる機会を与えてくれた,
ということで感謝しましょう !?

# SO さんと tata さんの書き込みがもったいないから,某掲示板にレスしようかな ?


[12334] Re3:別プロセスのメッセージを捕捉返信 削除
2018/9/22 (土) 17:52:06 SO
▼ Mr.XRAYさん

御意 !!w

え〜、少し質問ですけど、
DelphiでDLLとの文字列のやり取りって、
Stringクラス(型?)を使うのがスタンダードなんですか?

--
C,C++でWin APIだと、戻り値でエラーの場合、
GetLastErrorを使っていました(^^;A

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx



[12337] Re4:別プロセスのメッセージを捕捉返信 削除
2018/9/22 (土) 18:02:27 Mr.XRAY
▼ SOさん

> DelphiでDLLとの文字列のやり取りって、
> Stringクラス(型?)を使うのがスタンダードなんですか?


えっ !? そうなんですか ?
Null 終端文字列じゃなかったかしら ?
私また変なこと書きました ? DLL が別プロセスで実行とか (笑)

> C,C++でWin APIだと、戻り値でエラーの場合、
> GetLastErrorを使っていました(^^;A


えっ !?
GetLastError でいいと思うのですが...
何か問題でも.


[12339] Re5:別プロセスのメッセージを捕捉返信 削除
2018/9/22 (土) 18:15:11 Mr.XRAY
> Null 終端文字列じゃなかったかしら ?
>私また変なこと書きました ? DLL が別プロセスで実行とか (笑)


サイトの記事には Null 終端文字列を使うべきと書いています ! (キッパリ)


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