動作確認
C++ Builder XE4
外部関数からあるFormに対する処理を実装する時、そのForm固有で実装してしまう(Form1->...=)と他のFormに対して処理ができない。
TFormにのみ対応 [this使用]
そのため、thisを引数として渡す方法をとってみる。
.h
class TClassXXX{
public:
static void Test_XXX(TForm *formPtr);
}
上記を処理したいForm上からコールする。
.cpp
TClassXXX::Test_XXX(this);
TButton, TFormなど色々対応 (mojeldさんより)
templateを使うことで、TFormだけでなく、TButtonなど他のタイプにも対応する場合。
test_xxx.cpp
template <class T>
void __fastcall Test_XXX(TObject *Sender)
{
((T*)Sender)->Caption = "ABC";
}