问题标签 [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.
com - 反对将 ComObj.hpp 包含在非 COM 程序中的矛盾?
我正在与遗留项目( MS-COM服务器,C++-Builder 6 )中的最后一个编译器警告作斗争,还有一些我之前忽略的警告,因为它们是从为类型库存根生成的代码中引发的(我引用原始的德语,并添加了我的翻译):
[C++ 警告] utilcls.h(156): W8057 参数“hr”wird nie verwendet。
(从未使用参数“hr”)
[C++ 警告] utilcls.h(156): W8057 参数“文件”wird nie verwendet。
(从不使用参数“文件”)
我尝试使用本地选项和编译指示“解决它” - 没有成功!
今天,我发现正确的解决方案是包含 ComObj.hpp。
我的项目使用一组precompiled.h
以#include <vcl.h>
. 如果我包含ComObj.hpp
beforevcl.h
,警告就会消失,但是项目中有很多元素(例如简单的工具程序)与 MS-COM 无关...
包含在整个预编译的标头集中可能有害吗?ComObj.hpp
serversocket - 如何使用 ServerSocket 激活事件 ServerSocketClientRead 以从客户端套接字侦听
我想问一个问题。我正在使用 borland C++ builder 6,我有一个ServerSocket
,现在我需要打开一个连接并从客户端套接字监听。我的代码是这样的
如果发生 ServerSocketClientRead 我有
当我尝试调试程序时,我找到了代码
是真的,但它永远不会去编码
我想问一下,我连接服务器的代码有什么错误吗?在什么情况下事件ServerSocketClientRead
会被执行?非常感谢你的好意帮助
顺便说一句,我想我知道什么时候 ClientSocket->Socket->SendText(tbxClientText->Text); 被执行,ServerSocketClientRead被激活
c++builder - Borland C++Builder 6 MDI 应用程序
我在Borland C++Builder 6中做了一个mdi应用。
我做了2个表格:
- 主要形式
- 子表
我将 Child Form 设置为Available Forms。
当我想调用子表单时。我使用以下命令:
为什么当我再次调用命令时,子窗体变成这样的 2?
c++ - ADOTable 在发布前取消行中的更新
我有一个远程数据库 mysql,使用 ADOConnection 连接到应用程序(C++ Builder 6),以及显示数据的 DBGrid(ADOConnection-ADOTable-Dataset-DBGrid)。ADOTable 默认不可编辑;通过单击“编辑”按钮,我写“只读=假”,并编辑数据。
编辑该行后(例如,光标移动到上面的行),我需要提示用户(“保存更改?Y / N”),当您选择“否”时,撤消更改。根据要求没有问题。问题是我应该如何撤消更改(最好仍然在客户端,即 ADOTable 或 DBGrid)?
popup - C ++ Builder 6 TreeView的项目和子项目上的不同弹出菜单和空白区域上没有弹出菜单
我想在 Items 和 SubItems 上有不同的弹出菜单,而在 TTreeView 的空白区域没有弹出菜单这可能吗?
我想要如下图所示的东西
c++ - MDI 应用程序 - 无法打开子窗体
我做了2个表格。MainForm 和 ChildForm(我设置成为可用的表格)
设计 >> http://i.imgur.com/UkV7lZh.png
当我想调用我的 ChildForm 时使用此代码
并关闭
为什么当我打开 ChildForm 然后我关闭。以及何时再次打开。ChildForm打不开??
#主表格
c++ - VCL 中的 Application.DispatcherUnhandledException
在 WPF(.net) 中,我可以使用以下代码来处理意外异常并正确退出我的程序。
VCL中是否也有类似的东西?甚至在标准 C++ 中?
c++ - 尽管类型在析构函数中是完全限定的,但 std::auto_ptr 崩溃和泄漏
我读过C++:auto_ptr + 前向声明?及其答案,尤其是被接受的答案,我知道在结合 auto_ptr 和 forward 声明的类时的陷阱。但是我遇到了这个相同模式的运行时问题,这个问答似乎没有涵盖(以及我检查的所有其他auto_ptr 标记的问题)。
在销毁我Outer
的 -like 类[1]时,我有时会遇到访问冲突,有时我只观察到丢失的析构函数调用。
我在 cpp 文件中实现构造函数和析构函数,并且存在Inner
类型的定义。
如果我:
- 包括
Inner.h
在Outer.h
或 - 显式调用
inner.reset()
我处理仅使用 C++-Builder 6 编译的遗留代码,所以我必须坚持,std::auto_ptr
因为它是编译器似乎支持的唯一 smart_ptr 实现,所以(目前)没有替代这种类型(我知道已弃用)由 C++11)。
我的问题:我在这里做错了什么,或者它可能是 BCB6 [2]中的一个众所周知的错误?
附加说明我预计在阅读 Herb Sutter 的文章Using auto_ptr Effectively后,在不完整类型上使用 auto_ptr 是安全的,包装指针数据成员部分处理它。因此,我上面描述的问题是一个非常令人困惑的经历。
- [1]这个例子被删减来讨论 auto_ptr 使用的正式结构。
- [2] Borland C++ 5.6.4 和 C++-Builder 6 (upd4) 附带的 STL
c++ - MessageBox“程序异常终止”让我的应用程序继续运行
...有点儿。正如这个极其简单的例子所示,
很少(到目前为止仅报告一次),我的一个应用程序以这种方式崩溃。当发生非特定异常时,我想像往常一样终止它。我的策略是(低级)记录问题,然后终止。该应用程序是子系统的一部分,如果检测到任何问题,我想(重新)启动它。它使用 C++-Builder 6 构建并在 Windows (XP...7, 也是 8) 上运行。我了解到abort()
最有可能导致错误消息。该应用程序有一个 GUI,这就是为什么会显示一个消息框而不是仅仅向stderr
.
只要消息框不被用户接受,我的应用程序就会明显地运行,例如它处理计时器(上面示例中的生命周期增加)或进程间消息,完全不知道这个问题。
在阅读了一些答案后,什么是使 C++ 程序崩溃的最简单方法?和raise(SIGABRT) 和 abort() 方法之间的区别,我尝试了以下
如果或被调用,这也可以让我的应用程序正确终止。(我还希望阻止 Windows“寻找问题的解决方案”。)abort()
raise(SIGABRT)
从您的角度来看,这(为 abort 注册一个信号处理程序并在那里调用 exit)可靠吗?...或者至少可以建立一些东西?
c++ - 为什么没有调用意外的函数?
我希望下面的代码调用我的意外处理程序,但我的终止处理程序被调用:
C++ Builder 6 开发人员指南明确鼓励通过set_unexpected()
. 我在做什么错,或者这只是 C++-Builder 6 中的一个错误?