标签: c++builder

Borland C++:std的歧义(错误E2015)

我一直在Visual Studio 2005中开发一个DLL.目前它编译并完成它应该做的事情.

但是,我想用Borland C++ 2006编译它,因为我听说这样做更好,并且代码更快.当我尝试这样做时,我收到如下错误消息:

E2015 strcmp(const char*,const char*)和std :: strcmp(const char*,const char*)之间的歧义

我已经将strcmp的每个实例更改为std :: strcmp来解决模糊问题并且它可以工作,但我想知道是否有更聪明的方法来实现这一点.

谢谢 :-)

c++ c++builder ambiguity

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

VCL/Delphi/BCB - 我应该使用哪种IDE /语言?

当它出现时我买了Delphi 1 - 并且被迷住了.当BCB问世(D3,iirc)时,我换了,主要是因为我专业地使用了C/C++几十年.

我已经"离开"了7年或8年,现在又回来了.我还有BCB 6和Delphi 7(更不用说Kylix了).

我总觉得C++比Pascal更舒服 - 纯粹是因为工作日熟悉.但实际上,iirc,大多数第三方VCL组件都是用Delphi/Pascal编写的.我认为我以前在从BCB调试Delphi组件时遇到了问题,但我错误地记得.

Anyhoo,现在我回来并打算使用VCL组件/破解相同的代码/调试它们并编写我自己的一些代码.

鉴于我对C++稍微有点熟悉,有没有令人信服的理由选择Delphi而不是BCB,或者这仅仅是我的特定字符串的长度是多少?

delphi vcl c++builder

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

TMaskEdit中的时间掩码

为正确的时间输入编写掩码是真的吗?最长时间:23分最长分:59分23:59

c++ delphi c++builder

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

C++ Builder XE:找出包含特定h文件的位置

我目前正在将一个相当大的项目从C++ Builder 5移植到最新版本的C++ Builder XE.这是我第一次使用C++ Builder.我在文件中遇到错误,但我不想包含这个文件(它不再需要组件的代码).但是,我无法找到包含此文件的位置和方式.除了错误本身之外,编译器错误根本不提供任何提示.你通常如何找到包含文件的位置?

c++builder

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

如何获取ComboBox项目数

我正在尝试使用以下代码获取组合框项目数.它不会给出错误,也不会给出正确的计数.我想我必须将int转换为字符串,但是如何?

ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;
Run Code Online (Sandbox Code Playgroud)

c++ vcl c++builder

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

如何在C++ Builder中构建这个Delphi类?

这段代码的C++等价物是什么

ImageEnView1.IEBitmap.VirtualBitmapProvider := TIESlippyMap.Create();

我收到编译错误

[bcc32错误] Unit1.cpp(12907):E2285无法找到'TIESlippyMap :: TIESlippyMap()'的匹配项

在我的代码上

ImageEnview1->IEBitmap->VirtualBitmapProvider = new TIESlippyMap();
Run Code Online (Sandbox Code Playgroud)

delphi c++builder

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

COM:如果我更改了接口的父节点,是否需要创建新接口?

我一直在为COM接口添加新功能,从我所读到的唯一方法(并保持向后兼容)是创建一个继承旧接口并添加新方法的新接口.我试过这样做,但我的层次结构已经很复杂了.

说这是我的接口当前是这样的:

IBaseInterface
    |
IDerivedInterface

我想在Base Interface中添加一些功能,它现在看起来像这样:

IBaseOldInterface
    |
IBaseInterface
    |
IDerivedInterface

因为我已经添加了这个新功能,我需要创建一个新的IDerivedInterface吗?我已经按照现在的方式尝试了它,它似乎并不适用于所有情况.

我真的想要一些确认,并在可能的情况下解释原因

我需要进一步解释我的理想情况是什么以及为什么:

我想在IBaseInterface类中添加一些方法,然后所有派生类都可以使用.我认为可能是这样的:

                   IBaseOldInterface
                  /                 \
IDerivedOldInterface               IBaseNewInterface
                   \               /
                  IDerivedNewInterface

我知道应该避免使用Diamond继承,但它们只是接口,所以我认为这样就可以了.

当用户请求其中一个INewDerivedInterfaces时,拥有这个新结构.查询接口将返回该IID的正确接口,无论是INewDerivedInterface还是IOldDerivedInterface.

c++ com c++builder

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

TToolButton文本对齐

据我所知,没有适当的可用于对齐TToolButton类似Layout属性的文本TSpeedButton.有没有办法以某种方式对齐右边的文本(相当于a的属性blGlyphLeft值)?LayoutTSpeedButton

我已经有一个专门用于添加按钮的功能 - AddButtonToToolBar()具有明显的目的.有没有办法添加一些东西来对齐按钮文字?

delphi properties c++builder toolbar

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

如何在C++ Builder项目中静态链接Delphi过程

我想静态链接C++ Builder源代码中的Delphi函数.我将.pas文件添加到C++ Builder项目中.我尝试了以下声明:

在德尔福:

procedure SayHi; stdcall;
Run Code Online (Sandbox Code Playgroud)

在C++ Builder中:

extern "C" {
    void __stdcall SayHi();
}
Run Code Online (Sandbox Code Playgroud)

所有模块编译正常,但当我链接它时,我收到以下错误:

[ilink64 Error] Error: Unresolved external 'SayHi' referenced from C:\DEV\PACKSWAP\WIN64\DEBUG\MAIN.O
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

delphi c++builder

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

如何知道C++ Builder打开现有项目需要什么

我很久以前就已经有了一个现有的项目,似乎该项目是在C++ Builder中完成的 - 它有*.dfm,*cbproj文件.

但我无法在C++ Builder 6中打开它,因为没有.bpr, .bpg或*.bpk文件.

如果我创建新项目并导入所有现有的*.cpp文件,那么Borland会说多个错误,例如"ControlBar-> CornerEdge属性不存在"等等.

我的猜测是它是在一些非常古老的构建器(早于6.0)中制作的,但我怎么知道究竟需要什么构建器?

version project c++builder

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

标签 统计

c++builder ×10

delphi ×5

c++ ×4

vcl ×2

ambiguity ×1

com ×1

project ×1

properties ×1

toolbar ×1

version ×1