gpt4 book ai didi

C++:使用owl重新编译旧代码

转载 作者:行者123 更新时间:2023-11-28 07:43:26 25 4
gpt4 key购买 nike

我正在尝试使用新的 Borland C++-Builder (Embarcadero Studio XE2) 编译旧程序。

我以为这很容易,但我遇到了很多错误。例如使用像 somefunction(TPoint(0,0)) 这样的东西在需要引用时是行不通的,所以我不得不写 TPoint t=TPoint(0,0);somefunction(t )...还有一些错误,如 math.log 可以使用双 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 while the second argument is declared void MassCol_EndLableEditResp(TLwDispInfoNotify& nmHdr)
{MassCol->EndLableEditResp(nmHdr);};

第一个参数在这里使用似乎也是合法的......

后面有一行用到

EV_LVN_ENDLABELEDIT(IDC_SIMWEIGHTCOL,AddCol0_EndLableEditResp),

同样的错误,所以我认为可能缺少包含或命名空间...

有谁知道这个函数或者什么可能导致错误?

最佳答案

一段时间后,我也在 OWLNext-Forum 上提问,在那里得到了正确的答案:

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

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

此函数返回 void,但是,bool 是必需的。更改类型并在内部返回 true 解决了这个问题。

还有一些其他问题,但现在程序可以在 XE2-Studio 上愉快地编译。

关于C++:使用owl重新编译旧代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15366136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com