标签: c++builder

德尔福 - 形式内的形式

出于审美原因,我想在另一个表单的顶部显示一个表单,就好像它是一个组件,就像TPanel一样.它应该与父级一起调整大小,随着标题栏的标记栏等对其进行移动.

-----------------------------
| main form component 1     |
-----------------------------
| main |  the 'embedded'    |  
| form |  form goes here    |
|comp 2|                    |
-----------------------------
Run Code Online (Sandbox Code Playgroud)

我能这样做吗?如果是这样的话?


我现在倾向于MDI ......

delphi vcl c++builder

9
推荐指数
2
解决办法
5228
查看次数

如何隐藏TRadioGroup周围的边框

我在TRadioGroup中有两个radiobuttons .他们应该如何工作的所有逻辑都很好.但是TRadioGroup控制器周围有一个框架,我以为我可以使用边框属性或类似的东西删除它.但是控件似乎没有任何与边框/框架有任何相似性的属性.如何将控制器设置为不包含框架?

c++builder c++builder-2010

9
推荐指数
1
解决办法
2045
查看次数

如何生成不同频率的连续音?

我希望生成并播放具有随时间变化的特定频率和幅度的连续声音.我不希望声音之间有延迟.如何使用Delphi或C++ Builder完成此操作?

delphi audio winapi c++builder

9
推荐指数
2
解决办法
3562
查看次数

如何创建一个独立的(没有DLL文件依赖项)C++ Builder控制台应用程序,如Delphi应用程序?

当我创建Delphi控制台应用程序时,我可以部署生成的EXE文件而不必担心外部DLL文件.但是如果我创建非常简单的C++ Builder(版本2007)控制台应用程序(没有VCL),则EXE文件需要CC3280MT.dll运行该文件.

如何避免我的C++ Builder控制台应用程序需要该CC3280MT.dll文件?

即使这个简单的代码也会导致这种依

#include <iostream.h>
#pragma hdrstop

#pragma argsused
int main(int argc, char* argv[])
{
    cout << "Hello" << endl;
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ delphi c++builder

9
推荐指数
1
解决办法
9163
查看次数

更改RAD Studio 2010中的键盘快捷键

我使用C++ Builder 2010,我无法弄清楚如何更改键盘快捷键.

从工具>选项>编辑器选项>键映射,有一些键映射模块,我使用"IDE经典模块",但我想更改此模块中的一些快捷方式,是否可能?

keyboard-shortcuts c++builder delphi-2010 c++builder-2010

9
推荐指数
2
解决办法
1369
查看次数

从Delphi XE2高效地访问各种DBMS

我的需求

我使用Delphi/C++ Builder XE2.

我至少需要访问这些DBMS:

  • 火鸟
  • DB2/400
  • SQL Server
  • SAP HANA(新的内存数据库,可用接口:JDBC,ODBC,ODBO,SQLDBC)

我需要在数据感知的可视控件中显示和编辑数据.数据可以驻留在任何这些DBMS上,我将在外部文本文件上配置连接属性和SQL语句.

所以我正在寻找一组支持这种DBMS的数据库访问组件,并且具有良好的性能,类似于旧的Paradox表.

我的猜测

  1. 使用ODBC性能将比使用本机驱动程序更差.如果是真的,我该如何克服这个问题?
  2. 即使通过ODBC,HANA内存数据库的性能也会很好(我现在无法测试).

到目前为止我发现了什么

  • BDE(Borland数据库引擎)(TDatabase,TTable...)

    已过时.

  • DBX(Embarcadero dbExpress)(TSQLConnection,TSQLTable...)

    替代BDE,单向数据集(光标变为只领先;在内存不缓冲数据,这样的数据集不能在一个DBGrid显示;使用dbExpress构建用户界面,你会需要使用两个部分:TDataSetProviderTClientDataSet)

    使用本机驱动程序(HANA没有)或ODBC.

  • FireDAC(Embarcadero Fire数据访问组件)(TADConnection,TADTable...)

    它是AnyDAC的延续; 使用本机驱动程序(HANA没有)或ODBC或dbExpress.

  • UniDAC(Devart通用数据访问组件)

    不自由; 使用本机驱动程序(HANA没有)或ODBC或"DB Client".

  • DA(Delphi的RemObjects 数据摘要)

    不是免费的.

  • ZDBC(Zeos数据库连接接口)(TZConnection,TZQuery...)

    开源; 从作为Object Pascal的JDBC端口开始; 不提供与数据感知视觉控件的绑定.

  • dbGo(Embarcadero dbGo)( …

database delphi performance c++builder hana

9
推荐指数
2
解决办法
1万
查看次数

Delphi和Rad Studio有什么区别?

我找不到功能比较列表.我相信他们都可以创建本机非托管代码,对吧?Delphi本身就是RAD的特色吗?

delphi c++builder

9
推荐指数
1
解决办法
7689
查看次数

如何在C++中逻辑地组织源文件

我的源文件窗口正在快速增长(就我项目中的文件数量而言),并且在任何给定时间快速找到我需要访问的特定源文件会变得有点麻烦.我正在使用Embarcadero的C++ Builder,但我也在其他C++ IDE中遇到过这个问题.

在Java中,我经常使用包来创建源代码的逻辑分区,尤其是在单个项目中处理大量源文件时.虽然这,当然,是不是Java包的唯一目的,他们在这方面是非常方便的.

有没有人对如何在C++中实现类似的功能有任何想法?我应该将我的源分成物理文件夹吗?C++ Builder是否提供了某些我没有看到的虚拟文件夹/分组功能?任何想法都表示赞赏,谢谢.

c++ c++builder organization

9
推荐指数
2
解决办法
9019
查看次数

与C++ Builder 2010相比,C++ Builder XE4中EXE大小增加三倍的原因是什么?

我已将项目从RAD Studio 2010升级到RAD Studio XE4.该项目主要是使用C++ Builder的一半RAD Studio进行的C++,其中包括Delphi的一些内容.

在2010年,Release版本为22MB.在XE4下,相同的Release版本为55MB.

这是一个问题,因为:

  • 对于EXE来说,55MB非常大
  • 启动程序需要相当长的时间(不多,但有些.)
  • 我们的许多客户在海上时从偏远地区或船上下载新版本.大小事项.

是什么导致这种情况,我该如何解决?


笔记

  • 奇怪的是,调试版本仍然只有23MB.项目设置似乎非常相似.我扩展了选项集的导出,只看到<UsePackages>True</UsePackages>Release not Debug中存在的东西; 删除它没有任何区别.除此之外,还启用了代码优化,缺少_DEBUG定义.
  • 调试信息用于发布版本生成的,而是进入一个外部.tds文件.(这将在未来用于EurekaLog,目前允许我们调试程序的发布版本.)我想知道链接器是否在调试信息中链接,但据我所知,C++链接器始终将调试信息放入外部文件,存在,加上EurekaLog尚未在构建中启用.
  • 项目文件(.cbproj)是在XE4中创建的,而不是从旧的2010年升级而来.我创建了新项目并添加了旧的.cpp和.pas文件.这是为了避免升级引起的问题 - 在Embarcadero论坛上,经常建议在升级IDE版本时重新创建项目.在此之前,我确实遇到的问题比2010年少.
  • 有很多提及Delphi XE2 + EXE明显比旧版Delphi产生的大.(1,2,3,4,5,6).尽管在C++接头是一种通过用Delphi不同,它是可能的原因是相似的.
    其原因似乎主要是Delphi RTL代码使用的RTTI,在Delphi项目中可以通过指定删除{$WEAKLINKRTTI ON}.该XE4文件没有提到一个相当的C++编译链接.有#pragma explicit_rtti(C++类似物{$RTTI})和__declspec(delphirtti)(C++类似物{$M}/{$TYPEINFO}).
  • 该项目使用运行时包和动态RTL进行链接.它是一个32位VCL表单应用程序.我在Windows 7上安装了XE4 Update 1.
  • 编辑: David Heffernan在下面的评论中询问每个项目的.map文件大小.
    发行版.map大小为17MB,.tds大小为80MB.
    Debug现在已停止链接,链接器报告它内存不足(一个旧的,早就应该修复过的bug了.)没有生成.map或.tds文件,所以我不能给出比较大小准确.从内存来看,.tds大概是100MB,不幸的是我不记得.map的大小了.如果我得到项目链接,我会更新问题.
  • 再次编辑:我找到答案(sortof) - 将'扩展内联函数'关闭会将EXE大小减小到预期值.这令人费解 - 请参阅下面的答案.请注意,调试版本已经关闭并仍然无法链接,从而导致内存不足错误.
    我还没有将我的答案标记为正确,以防万一有人可以提供一些有关正在发生的事情的见解,这将是一个更好的答案,而不仅仅是"关闭此选项".

delphi linker c++builder c++builder-xe4

9
推荐指数
1
解决办法
1352
查看次数

如何设置大于1096像素的表格高度?

我正在使用C++ Builder XE7并遇到一个奇怪的问题.我需要一个大约1500像素的表格高度.问题是对象检查器不允许我指定大于1096像素的值.如果我设置任何更大的值,它将自动设置为1096 ..任何现有或新的表单上都存在问题.我使用的是Windows 7,屏幕分辨率为1920x1080.

delphi vcl c++builder

9
推荐指数
1
解决办法
938
查看次数