我得到了一个遗留的VisualC++项目,需要在Embarcadero RAD Studio XE7中编译,但我在构建它时遇到了问题。现在,我遇到了ATL库的问题,该项目的某些组件需要ATL库:
我已经将所有ATL文件从include/atl复制到windows/sdk/atl。
该项目需要atlsafe.h。我已经安装了Visual 2013,它具有这些标题,但我确实了解如何正确使用它们。如果我将atlsafe.h复制到windows/sdk/atl,我开始收到许多与过时的atlbase.h相关的错误。一旦我替换了atlbase.h,我就开始收到更多的错误(预期的),等等。
我最近开始研究一个使用C++Builder (Borland)构建的旧解决方案。
我遇到了允许一些意外操作的代码。
1)将int赋值给字符串而不进行转换:
String x = 12; //this works... I would expect a type mismatch..
2)字符串与int的比较没有问题:
String s = "12";
int x = 12;
bool b = s == x; // Again... I expect an error..
C++Builder会做一些自动转换吗?有没有关于C++Builder的“天哪,我不敢相信他们会这么做”的列
我正在使用用于Delphi/C++Builder的EurekaLog bug捕获器。他们的所有例子都是在Delphi中,我使用的是C++Builder。下面的Delphi代码是导致软件异常的示例之一。我试图将其转换为下面的C++,但是我的代码是错误的。你能给我看一下正确的C++代码吗?
来自EurekaLog的Delphi代码
type
EMyException = class(Exception);
Procedure TForm. ButtonClick(Sender: TObject);
begin
raise EMyException.Create('Error Mes
我正在将下面看到的Delphi表达式转换为C++Builder。我的C++Builder代码生成错误消息E2299。我把这个错误描述的全文放在下面。您能否建议对我的C++代码进行更改以使其正常工作。
//Delphi
TYPE
Regions = (North,South,East,West);
RegionSet = SET OF Regions;
//C++Builder
enum Regions { North, South, East, West };
typedef Set<Regions, North, West> RegionSet;
E2299无法从“Set”
我一直在Borland C++Builder上使用IntraWeb框架。有时,应用程序会因为一个奇怪的未捕获异常而崩溃:
An unhandled application error has occured within My IntraWeb Application.
...
Error message raised by the application: Class TIWTimer not found
当启动一个新会话时,就会发生这种情况。例如,通过在浏览器中输入地址。此外,该消息还会出现在经典的IntraWeb错误网页中
找不到的类是TIWTimer或TIWButton,但我认为这