问题标签 [owlnext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
176 浏览

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

我正在尝试使用新的 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),

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

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

0 投票
1 回答
530 浏览

c++ - c++-builder:转换成stdcall类型

我目前正在尝试移植旧的 owl-c++-builder-projekt 以使用 XE2 和 owlnext。在旧文件中,我可以简单地调用一行

虽然 LP_I2Open 定义为

这些代码块实际上来自多个文件。我认为这个顺序很直观。

现在我有一些困难来根据需要重写它。我了解,现在左侧被理解为返回值的转换方法,但不能分配给特定值,因此会引发“L-Value expected”错误。但是,我不太清楚如何将 FARPROC 转换为适合 LP_I2COpen 的东西...尝试不进行任何转换会引发此错误:

那么,有人知道我在这条线上犯了哪些错误吗?

问候,朱利安

0 投票
2 回答
1398 浏览

c++ - C++-builder:window.cpp 中的访问冲突 0x0000002c

我正在修改 C++ Builder XE2 中的程序。该程序还没有使用 vcl,而是使用 owlnext。并包含多个 MDI 子表单。

在那里,我使用例程加载文件并打开一个新窗口。

在这个例程中一切正常(我在调试模式下逐行跟踪它多次),但是当它完成并PumpWaitingMessages() // pumps any waiting messages, idleCount=0再次完成并TApplication::MessageLoop()进入下一个循环并调用IdleAction(idleCount++)哪个调用MainWindow->IdleAction(idleCount)哪个调用TWindow::IdleAction(idleCount)哪个是 window.h 的函数时,程序崩溃。

在 IdleAction 中,应用程序在调用win->IdleAction(idleCount)异常时在第一个循环中崩溃:

该函数在 Owlnext 中定义如下:

我的猜测是窗口的句柄无效,但win-object似乎并不无效......我也找不到任何包含0x0000002c地址的变量。

好吧,title 和 parent 为 NULL,Handle 为 0x00000004,但其他值对我来说似乎是合法的......但奇怪的是,当检查 cursormodule.name 时它告诉我E2122 Function call terminated by unhandled exception 0xc0000005 at address 0x408b1a

那么,有人知道为什么会发生此错误,或者我可以做什么或撤消以使其正常工作吗?

编辑:win->next 是一个定义为的 owl-function

TWindow* SiblingList;TWindow 一样私有 TWindow 声明如下:http ://pastebin.com/TzTp4ZXh (请点击链接,因为该类有一个非常大的声明)

0 投票
1 回答
190 浏览

c++ - c ++:owlnext + vcl:新窗口缺少其父窗口

我有一个主要用 owl-libary 编写的应用程序。

在那里,我想从主 owl-windows 中打开新的 vcl-windows。
这很好用,但如果打开一个对话框窗口(即使使用ShowModal)并且我关注另一个应用程序,那么主窗口会进入前台但被它后面的窗口挡住。

我想问题是缺少父设置。

但是,我无法将 owl's 转换TWindow为 vcl's TWinControl

将 vcl 的parent设置设置为 owl 的TWindow-Object 是否有技巧?或者这可能是由完全不同的东西引起的?

编辑:我正在使用...

...现在。但是,新窗口被锁定,无法单击/关闭/切换到。使用 ParentWindow 有什么我错过的吗?

EDIT2:我认为父级是TDecoratedMDIFrame一个 MDI-Container 可能是一个问题,因此我的对话框被视为 mdi-child 而不是普通对话框...

0 投票
1 回答
299 浏览

c++ - TForm 隐藏在主窗口后面

我有一个使用 OwlNext 创建的主窗体,它调用在 vcl 中创建的对话框。

现在我的两个窗口都有一个新的任务栏条目。
当我单击那里的主窗口时,它会出现在 Form2 的前面。
但是当我单击 Form2 时,它停留在 Main 后面。
此外,当 Form2 发出警报时,关闭警报将关注 Main 而不是 Form2。

你能告诉我我在这里做错了什么吗?

0 投票
1 回答
77 浏览

c++ - 打开 TDecoratedMDIFrame 最大化

我正在使用 Embarcadero RAD 2 Studio (borland) 和 owlNext 库编写应用程序。

在那里我创建了一个TDecoratedMDIFrame对象,我使用它打开它

因此,最终它由 owlnext 库的 aplicat.cpp 使用MainWindow->ShowWindow(nCmdShow);.

但是,现在我想最大化地打开它。

我做了一些研究并发现 PMW->WindowProc(WM_SIZE,SIZE_MAXIMIZED,0); 似乎没有做任何事情......

你们有谁知道如何最大化这个窗口或启动它最大化?