I'm trying to compile an old program with the new Borland C++-Builder (Embarcadero Studio XE2).
I thought it would be easy, but I get a lot of errors. e.g. using something like somefunction(TPoint(0,0))
won't work when it's expecting a reference, so I had to write TPoint t=TPoint(0,0);somefunction(t)
... also some errors like math.log could work with double of float but got uint, so it can't decide...
But the main Problem seems to regard OWL. I have a codeline there that says something about mismatching function parameter types:
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;
The line
EV_LVN_ENDLABELEDIT(IDC_CALIBMASSES, MassCol_EndLableEditResp)
gives the error
[BCC32 Fehler] AcMode_TS_Dial.CPP(13): E2285 Keine Übereinstimmung für 'b_LV_DISPINFO_NOTIFY_Sig(void (TTSCalibDialog::*)(TLvDispInfoNotify &))' gefunden while the second argument is declared void MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr)
{MassCol->EndLableEditResp(nmHdr);};
The first argument seems also legit to use here...
Later there is a line used
EV_LVN_ENDLABELEDIT(IDC_SIMWEIGHTCOL,AddCol0_EndLableEditResp),
with the same error, so I think there might be an include or namespace missing...
Does anyone know this function or what could cause the error?
After some time I asked in the OWLNext-Forum, too, recieving the right answer there:
http://sourceforge.net/p/owlnext/discussion/97175/thread/a0cc4131/
void TTSCalibDialog::MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr)
{MassCol->EndLableEditResp(nmHdr);}
This function returns void, however, bool is required. Changing the type and returning true inside solved this issue.
There were a few other issues as well, but now the program is happily compiling on the XE2-Studio.