喫茶XRAYトップページ

[スレッド全体
]

[7927] Re4:DLL内の関数のcdecl呼出規約返信 削除
2014/9/10 (水) 15:11:01 Mr.XRAY
▼ 福士さん

うあ,スミマセン.こんなむさ苦しいお店まで足を運んでくださいまして.

> 呼び出し規約 (手続きと関数(Delphi) - RAD Studio)
> http://docwiki.embarcadero.com/RADStudio/XE7/ja/%E6%89%8B%E7%B6%9A%E3%81%8D%E3%81%A8%E9%96%A2%E6%95%B0#.E5.91.BC.E3.81.B3.E5.87.BA.E3.81.97.E8.A6.8F.E7.B4.84


ありゃ,オンラインヘルプにもありましたか.
調べませんでした.

> Mr.XRAYさんには常識的なことだとは思いますが、まぁ補足(蛇足?)ということで。

とんでもないでございます.結構迷いながらやっているもんです.
私にとっても,このお店のお客さんにも参考になると思います.

(1) あらかじめバッファサイズを指定して実行する関数
    取得可能な文字列の長さが決まっている場合
    GetComputerName 関数, GetWindowText 関数等
    FillChar 等でバッファを初期化する(文字列の型の定義による)
    Win16 時代からの,比較的古い関数に多い

(2) 1 回目の実行で,必要なバッファサイズを取得して,あるいは,取得する関数
   結果の Delphi の文字列型の長さは SetLength で設定(指定)する
   比較的新しい方法

という感じですね.
というか,改めて認識しました (^^;
恥ずかしながら,このように体系的にとらえていませんでしたね.
MSDN の関数の記事に,その都度したがっていただけです.
よし!!  サイトのどこかの記事に追加しておこうっと...

# 人様のネタで生きてるサイトの記事と喫茶XRAY でございます.

追記:
言い訳ではではありませんが,別にツッコミじゃぁございませんです(笑)
たまたま,過日,PDF の作成のコードで cdecl を使ったこともあり,
おそらく,多くの方はあまり見かけないのでは,という趣旨です.ハイ.
でも,Delphi のオンラインヘルプに書いてあるんですからね.ハハハッ.


[7928] Re5:DLL内の関数のcdecl呼出規約返信 削除
2014/9/10 (水) 15:50:53 福士
> うあ,スミマセン.こんなむさ苦しいお店まで足を運んでくださいまして.
イツモミテマスヨー

> 言い訳ではではありませんが,別にツッコミじゃぁございませんです(笑)
いや、MLのほうで呼出規約のことは見逃していたので、ここを見て、あー、忘れてたー、と
なったのです。ナイスツッコミでした。

[7929] Re6:DLL内の関数のcdecl呼出規約返信 削除
2014/9/10 (水) 15:55:51 Mr.XRAY
▼ 福士さん

> いや、MLのほうで呼出規約のことは見逃していたので、ここを見て、あー、忘れてたー、と
> なったのです。ナイスツッコミでした。


う〜む.福士さんにそう思わせるきっかけを書くなんて,私も成長したもんだ (^^;


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