■
メモ
EWXWEXPORT(int, wxMenu_GetTitle)(void* _obj, void* _buf) { wxString result = *1; return result.Length(); }
のような、文字列の配列を得るためのラッパ関数は、_buf が十分に確保されているかを確認できない。バッファオーバーフローを防ぐために、
int len = wxMenu_GetTitle(_inst, null); char* buff = new char[len+1]; wxMenu_GetTitle(_inst, buff); char[] string = new char[len]; std.string.memcpy(buff, string, len);
と2回呼ぶ必要がある。
*1:wxMenu*)_obj)->GetTitle(); if (_buf) memcpy (_buf, result.c_str(), result.Length(