我正在尝试使用新的 Borland C++-Builder (Embarcadero Studio XE2) 编译一个旧程序。
我认为这很容易,但我得到了很多错误。例如,当它期望引用时,使用类似的东西somefunction(TPoint(0,0))
不起作用,所以我不得不写TPoint t=TPoint(0,0);somefunction(t)
......还有一些像math.log这样的错误可以使用double of float但得到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 而第二个参数声明为 void MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr)
{MassCol->EndLEditRespable nmHdr);};
第一个论点似乎也可以在这里使用......
后来有一条线使用
EV_LVN_ENDLABELEDIT(IDC_SIMWEIGHTCOL,AddCol0_EndLableEditResp),
有同样的错误,所以我认为可能缺少包含或命名空间......
有谁知道这个功能或什么可能导致错误?