2013-03-12 5 views
0

Я пытаюсь скомпилировать старую программу с новым Borland C++ - Builder (Embarcadero Studio XE2).C++: перекомпилировать старый код с помощью owl

Я думал, что это будет легко, но я получаю много ошибок. например использование чего-то вроде somefunction(TPoint(0,0)) не будет работать, когда он ожидает ссылки, поэтому мне пришлось написать TPoint t=TPoint(0,0);somefunction(t) ... также некоторые ошибки, такие как math.log, могли работать с двойным поплавком, но он получил uint, поэтому он не может решить ...

Но основная проблема, по-видимому, относится к OWL. У меня есть codeline там что-то говорит о несовпадающих типы параметров функции:

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 (Недействительными (TTSCalibDialog: : *) (TLvDispInfoNotify &)) 'gefunden , а второй аргумент объявлен void MassCol_EndLableEditResp (TLwDispInfoNotify & nmHdr)
{MassCol-> EndLableEditResp (nmHdr);};

Первый аргумент кажется, также законны использовать здесь ...

Позднее есть строка используется

EV_LVN_ENDLABELEDIT (IDC_SIMWEIGHTCOL, AddCol0_EndLableEditResp),

с тем же ошибка, поэтому я думаю, что может отсутствовать область include или namespace ...

Кто-нибудь знает эту функцию или что может вызвать ошибку?

+0

Просто любопытно - вы решили эту проблему? Я видел из вашего другого сообщения, что вы используете OWLNext – Jogy

+0

@Jogy Ah, я забыл ответить на этот вопрос. Я получил помощь в форуме owlNext, который сказал мне, что я использую тип возврата wrog. Подробнее см. Ответ ниже ^^ – Julian

ответ

1

Через некоторое время я спросил в OWLNext-форуме тоже ПОЛУЧАТЬ правильный ответ есть:

http://sourceforge.net/p/owlnext/discussion/97175/thread/a0cc4131/

void TTSCalibDialog::MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr) 
{MassCol->EndLableEditResp(nmHdr);} 

Эта функция ничего не возвращает, однако, требуется BOOL. Изменение типа и возврат истины внутри решили эту проблему.

Были и другие проблемы, но теперь программа с радостью компилируется на XE2-Studio.

 Смежные вопросы

  • Нет связанных вопросов^_^