问题标签 [c++builder-6]
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.
c++ - 将 DLL 代码从 Borland C++ Builder 6 移植到 Microsoft Visual C
我需要一些来自/for DLL 的旧 C++ 代码的帮助,这些代码是用 borland c++ builder 6 编写的,我必须在 VS2008 或 VS2010 中重新编译它。由于我们所有的测试都表明 MSVC 优化代码超过 4 倍(速度)然后 borland builder ......而且我们的软件有一种实时要求。我已经用 std 或 win32api 函数重写和/或包装了很多 VCL 代码,主要是 AnsiString、事件、线程、列表的类,所以大多数代码都能编译并且运行良好......
但是我遇到了一个我不知道如何单独解决的障碍,所以我请求您提供任何帮助。
我不知道如何实现可以模拟__closure
关键字的东西。我知道这是 borland c++ builder 特定的关键字,并允许程序员使用指向成员函数的通用指针。我知道这在本机 C++ 中是不可能的,因为指向成员函数的指针不是常规函数指针,而是类似member_function_pointer=function_pointer-this
. 所以__closure
必须保存this
和member_function_pointer
。但我不知道如何实现这一点。也不怎么可能,因为我们代码中的类彼此不认识,这将违反面向对象编程原则的所有原则。
我为我生疏的英语感到抱歉:S 感谢您的时间和帮助。
c++ - 在 Borland C++ 6 中从 Windows 获取程序文件目录
我必须创建一个可执行文件(使用 Borland C++ Builder 6)来代替 Windows 7 的批处理文件,因为权限不允许普通用户(非管理员)运行必要的批处理。我们有许多不同的 Windows 7 机器,一些 64 位和一些 32 等。我遇到的问题是“程序文件”目录被硬编码到程序中,但它并不总是正确的程序文件目录,这会导致某些机器上的一些错误。
我熟悉从注册表获取程序文件目录的方法,但我担心这不适用于所有机器,因为权限设置不允许程序访问注册表。我一直在寻找像GetWindowsDirectory这样的功能,但无济于事。有没有人有什么建议?
编辑:我已经在 Windows XP 机器上对此进行了编程,以便简单地放置在 Win7 上(没有办法改变或避免 XP/7 的事情,可能很糟糕)。这是一个无需安装的简单实用程序;它只是放在一个文件中。它只需要出去找到程序文件目录来执行一些任务。
c++ - wglShareLists 失败并出现错误 6:ERROR_INVALID_HANDLE 句柄无效
我尝试在两个类之间共享一个 HPBUFFERARB:TGLForm 和 TGLForm2。(我尝试过 FBO,但有一个旧的 Borland Builder 6 版本,我无法使用 FBO 管理)
我的目标是在两个 openGL 窗口中显示相同的缓冲区。
所以我在第一个表单之外声明了这个对象:
我对其进行初始化,使其具有与第一个 GLForm 相同的像素格式:
这是我的第一个 DrawScene:“PaintGL()”绘图完美地绘制在此表单上:
这是我的第二个 GLForm 的 DrawScene:问题是我只看到彩色四边形,但这个 QUAD 没有纹理,或者纹理是空的:
=> 我如何检查这个纹理是否为空?
将其导出到位图并检查它?
=> DrawSceneForm2 中的 wglShareLists 使用 GetLastError 返回错误:
错误 6:ERROR_INVALID_HANDLE 句柄无效。
=> 有人看到这个 wglShareList 或我的代码有什么问题吗?
c++ - 移植/重新编码非常大且旧的 C++Builder 代码到 Qt 或 CLI/Mono
您好,我需要重新制作一些旧的 C++Builder (6) 项目并使其适用于 Linux/Windows。
主要和大项目部分是
- OPC 客户端(和其他一些客户端)
- 使用数据库(目前是 MS SQL)但可能移植到另一个数据库,如 postgres 是另一项任务。
- 表格/报告/图形/图表的 GUI 组件!
另一个麻烦是我目前只有几个月的时间。
所以我想问:移植它是否更好/更容易?MinGW dll + CLR GUI ?吗?也许是 U++ ?
谢谢你。
winapi - MDI 应用程序未从 Windows 7 任务栏接收 WM_ACTIVATE 和 DWM 消息
我有一个用 Borland C++Builder 6 编写的 MDI 应用程序(升级到新版本不是一种选择),并且正在使用该ITaskbarList3
界面将 MDI 子窗口集成到 Windows 7 任务栏中。按照 Microsoft 的文档,每个 MDI 窗口都会创建一个代理窗口来接收来自任务栏的消息。我注册的选项卡ITaskbarList3
确实出现在任务栏上,代理窗口确实接收WM_GETICON
、WM_ACTIVATEAPP
、WM_SYSCOMMAND
和WM_CLOSE
消息。但是,它们不接收任何WM_ACTIVATE
、WM_DWMSENDICONICTHUMBNAIL
或WM_DWMSENDICONICLIVEPREVIEWBITMAP
消息。没有这些,该功能将毫无用处。
我认为这可能是一个清单问题(该应用程序确实使用 SoftGems TThemeManager),所以我从 C++Builder 2010 应用程序中提取了一个清单,添加了一个“兼容性”部分以将 Vista 和 Win7 标记为支持的操作系统,并替换了库存带有新清单的已编译可执行文件中的清单。仍然没有运气。
我错过了什么吗?
c++ - 检查是否单击了任何其他按钮
我试图找到答案,但没有找到。
我想做这样的事情:当我单击按钮时,我希望它重复操作,直到单击另一个按钮
我有这样的事情:
我想在“if”中重复操作,直到我点击另一个按钮。
有人可以告诉我,我怎样才能做到这一点?
c++ - 在 C++ 程序中扭曲字体的某些机器上修复大系统字体?
我编写了一个程序(使用 Borland C++ 构建器),它可以在正常的默认 Windows 设置下正常工作。但是某些用户已经更改了他们的系统以使用比正常更大的字体(例如,他们更改了 Windows 主题或更改了系统设置以使字体更大以防止视力不佳等)。这使我的很多文本和字段都无法显示。我记得几年前必须克服这个问题,但我似乎找不到任何关于如何做到这一点的信息——甚至找不到从哪里开始。
所以问题是:有谁知道我如何在表单中更改系统字体?最好,无论系统想要什么,我都希望在程序中保持我的字体大小相同,但我不相信这是一个选择。
c++ - 使用 Windows XP 和 7 将“.txt”保存到特定目录
我正在尝试使用ofstream
(C++ Builder)将文本文件保存到特定目录。我在使用 Windows 7 时遇到问题。
如何使用 Windows 7 将“.txt”文件保存到特定目录?
OBS:当我使用 Windows 7 保存程序时,文件保存在:
C:\Users\Name\AppData\Local\VirtualStore\Folder1\Name.txt
debugging - 在 Borland C++ builder 6.0 版中调试
我只是想知道如何使用这个软件查看调试器窗口。这样我就可以在运行时看到代码流。
谢谢。
development-environment - C++ Builder 6 - global paths for include directories
Is there a way to set global paths (i.e. independent from currently opened project) to include directories?