古いプログラムを新しい Borland C++-Builder (Embarcadero Studio XE2) でコンパイルしようとしています。
簡単にできると思ったのですが、エラーが多発します。たとえばsomefunction(TPoint(0,0))
、参照を期待しているときに動作しないようなものを使用するので、書く必要がありましたTPoint t=TPoint(0,0);somefunction(t)
...また、math.logのようないくつかのエラーは、floatのdoubleで動作する可能性がありますが、uintを取得したため、決定できません...
しかし、主な問題はOWLに関係しているようです。関数パラメーターの型の不一致について何かを言うコードラインがあります。
DEFINE_RESPONSE_TABLE1(TTSCalibDialog, TDialog) EV_LVN_ENDLABELEDIT(IDC_CALIBMASSES, MassCol_EndLableEditResp), EV_COMMAND(IDC_CALIBRATEBUT, CalibrateResp), EV_COMMAND(IDC_CALIBSAVEBUT, CalibSaveResp), EV_COMMAND(IDC_CALIBLOADBUT, CalibLoadResp), EV_COMMAND(IDC_CALIBRESTORE, CalibRestoreResp), EV_COMMAND(IDC_CALIBSETNUMMASSES, CalibSetNumMassesResp), EV_WM_DESTROY, // Ev_WM_Destroy END_RESPONSE_TABLE;
この線
EV_LVN_ENDLABELEDIT(IDC_CALIBMASSES, MassCol_EndLableEditResp)
エラーを与える
[BCC32 Fehler] AcMode_TS_Dial.CPP(13): E2285 Keine Übereinstimmung für 'b_LV_DISPINFO_NOTIFY_Sig(void (TTSCalibDialog::*)(TLvDispInfoNotify &))' gefunden の 2 番目の引数が void MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr)
{MassCol->EndLableEditResp( nmHdr);};
最初の引数もここで使用するのが正当なようです...
後で使用される行があります
EV_LVN_ENDLABELEDIT(IDC_SIMWEIGHTCOL,AddCol0_EndLableEditResp),
同じエラーが発生するため、インクルードまたは名前空間が欠落している可能性があると思います...
誰かがこの機能を知っていますか、またはエラーの原因は何ですか?