标签: c++builder

仅在一台计算机上"无法完成Firebird的网络请求"或"拒绝连接"

我在公司的一台电脑上有一个看似独特的问题(必须是我老板的).我有一个来自Borland C++的程序,它使用了一个TSQLConnection.它连接到作为应用程序运行的本地Firebird服务器2.1.1.17910.其他电脑工作正常.

这将绝对不会在这一个lappy上(本地服务器)进行连接东西.我记得在安装时它总是遇到InterBase的问题.我认为他可能安装了7.5.它现在已经消失了,我通过并删除了任何旧的GDS32.dll文件并使用FireBird更新了它们,并且连接正在使用fbclient.dll ...

我尝试卸载并重新安装FB并将其作为服务运行.没工作.

我进入了etc/services并添加到这一行:

gds_db           3050/tcp                           #Firebird
Run Code Online (Sandbox Code Playgroud)

没有骰子.

在数据库位置前面粘贴"localhost:"会出现此错误

无法完成托管"localhost"的网络请求.无法建立连接.

我检查了netstat,它正在侦听127.0.0.1端口3050 ...

试图在数据库位置之前粘贴"127.0.0.1:",我得到:

连接被远程接口拒绝

尝试完全取出127.0.0.1或localhost,只使用数据库位置,这是正确的位置,我得到

不可用的数据库.

完全相同的CD作品在其他机器上的罚款.我试着坚持使用"localhost","127.0.0.1",并且在数据库位置前没有任何内容,并且在其他计算机上都可以正常连接.

我让他关闭防火墙,仍然没有骰子......这个问题已经持续很长时间了,我已经走到了尽头.我已经尝试过我能想到的一切.它在我的计算机,空白测试计算机,beta测试人员......除了我的老板之外的每个人都可以正常工作.任何帮助将非常感激.

sql firebird odbc c++builder

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

不同的编译器的C++虚拟继承实现不兼容吗?

我有这样的公共接口层次结构:

struct ISwitchable {
    /* Obtain pointer to another implemented interface of the same instance. */
    virtual int switch(unsigned int interfaceId, void** pInstance) = 0;
};
struct IFoo : public ISwitchable { /* Methods */ };
struct IBar : public ISwitchable { /* Methods */ };
struct IFooBar : public IFoo, public IBar { /* Methods */ };
Run Code Online (Sandbox Code Playgroud)

实现IFooBar的类与工厂函数一起放入dll.客户端代码加载dll,使用工厂函数创建类实例并根据接口使用它们(它们作为头文件提供).

Scheme使用MSVC制作的dll和Borland C++ Builder 6制作的客户端代码可以正常工作.

我将虚拟继承引入层次结构:

struct IFoo : public virtual ISwitchable { /* Methods */ };
struct IBar : public virtual …
Run Code Online (Sandbox Code Playgroud)

c++ c++builder virtual-inheritance visual-c++

5
推荐指数
3
解决办法
1061
查看次数

在c ++ builder XE中围绕带圆角的表单边框

我已经使用以下代码制作了带圆角的C++ Builder XE表单

BorderStyle = bsNone; 

void __fastcall TForm1::FormCreate(TObject *Sender)
{
     HRGN frmrgn;  

     frmrgn = CreateRoundRectRgn (0, 0, ClientWidth, ClientHeight,12,12);
     SetWindowRgn(Handle,frmrgn,true);
}
Run Code Online (Sandbox Code Playgroud)

它看起来很酷,但边框丢失,我尝试了很多东西,但没有得到好结果,所以请帮我绘制RGB颜色边框(96,96,96)

我希望整个表格可以拖动.

border c++builder rounding drag c++builder-xe

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

列聚合的TDBGrid状态栏

有一个带有一些数字列的网格,需要为每个列实现一个聚合(总和或计数)并在相应的列下显示它.

我知道有些套件(DevExpress或其他套件)已经"默认"实现了.但是有一种方法可以使用默认控件或JVCL来实现它吗?

delphi vcl c++builder tdbgrid

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

Borland Builder 5 c ++字符串无法索引为0

我试图在0处进行简单的字符串访问,由于某种原因,我在Borland Builder 5 C++中遇到了一个越​​界错误.

有没有人找到解决这个问题的方法?Borland编译器使用了一种特殊类型的字符串吗?

c++ string c++builder c++builder-5

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

MSBuild在Cpp.Targets中使用新的XE4项目搜索"True.dpr"失败

msbuild在RAD Studio XE4中遇到了一些奇怪的错误,我正在寻求帮助来诊断正在发生的事情.我已经遇到了这个问题已经有几个星期了,但是我自己也没有成功解决这个问题 - 时间问得更广泛了.症状是:

  • 通过在IDE中构建和运行的项目,msbuild Project.cbproj似乎可以正常工作
  • 正常运行msbuild Project.cbproj /t:Clean,并删除中间文件.输出的可视扫描不显示任何异常文件被删除 - 只有.obj文件,链接器状态文件,最终EXE等.
  • 但是在清洁或干净结账后运行msbuild Project.cbproj /t:Build或只是简单失败,并显示以下错误消息:msbuild Project.cbproj

Microsoft(R)Build Engine版本3.5.30729.5420 [Microsoft .NET Framework,版本2.0.50727.5472]版权所有(C)Microsoft Corporation 2007.保留所有权利.

Build build 12/09/2013 10:35:03.节点0上的项目"C:\ projects\Project.cbproj"(默认目标).

_PasDepCheck:已修改:Source\Common\resample.pas _PasCoreCompile:Embarcadero Delphi for Win32编译器版本25.0版权所有(c)1983,2013 Embarcadero Technologies,Inc.C:\ Program Files(x86)\ Embarcadero\RAD Studio\11.0\Bin\CodeGear.Cpp.Targets(191 1,5):错误F1026:找不到文件:'True.dpr'完成构建项目"C:\ projects\Project.cbproj"(默认目标) - 失败.

建立失败.

"C:\ projects\Project.cbproj"(默认目标)(1) - >(_PasCoreCompile目标) - > C:\ Program Files(x86)\ Embarcadero\RAD Studio\11.0\Bin\CodeGear.Cpp.Targets(1 911,5):错误F1026:找不到文件:'True.dpr'

0 Warning(s)
1 Error(s)
Run Code Online (Sandbox Code Playgroud)

有些事情让我觉得这个:

  • 它在顶部列出了两个版本的.Net,在方括号中列出了较旧的版本.它可以加载或使用两个框架的一部分吗?
  • True.dpr不存在,也无法找到手动搜索.cbproj文件True.dprTrue …

msbuild c++builder delphi-xe4 c++builder-xe4

5
推荐指数
2
解决办法
1531
查看次数

如何在C++ Builder中有条件地编译不同平台的代码?

C++ Builder中Android,iOS,Win32,Win64的平台条件定义是什么?我发现只有Delphi的例子.

cross-platform c++builder conditional-compilation

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

不调用初始化部分

我正在为Delphi和C++ Builder维护VirtualTreeView组件.使用Delphi一切都很好但是当我使用C++ Builder编译软件包时,Delphi单元初始化部分中的代码不会被调用.有任何想法吗?

delphi linker initialization c++builder virtualtreeview

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

为什么RAD Studio Seattle 10会安装Windows 10 SDK?(它是否适用于较新的SDK?)

在C++ Builder Seattle 10 Update 1安装结束时,Embarcadero的主要设置启动了一个名为Microsoft Windows 10 SDK Installer的附加嵌入式安装程序.这就是它的样子,万一你忘记了:

在此输入图像描述

然后,此安装程序开始安装原始RTM Windows 10 SDK,如下所示:

在此输入图像描述

为什么C++ Builder会安装它?C++ Builder如何与SDK链接 - 它究竟使用了什么?如果我安装一个较新的Windows SDK(例如2015年11月发布的那个),它会起作用吗?(很难想象如何,因为在IDE中设置所有内容以使用文件C:\Program Files (x86)\Embarcadero\Studio\17.0\include\windows\sdk,这些文件包括Embarcadero对SDK所做的更改,例如特殊的bcc32 pragma语句.)

我已经分析了RAD Studio的安装文件,试图弄清楚发生了什么,但我没有一个很好的答案为什么他们正在做他们做的事情:

  • 在RAD Studio ISO上,检查7-Zip中的``\ Install\Setup.exe`.
  • 有一个setup.res文件; 打开里面的7-Zip也.
  • 在里面setup.res你会发现MSSDKInstall.exe你在上面第一个截图中看到的内容.在7-Zip内打开它.
  • 然后,您将看到几个文件:
    • MSSDKInstall.msi:如果你用Orca打开它,你会发现这是一个非常简单的安装程序,它将一些蓝牙头文件安装到Embarcadero include目录中.
    • OFFLINE目录:包含显然使用了微星8个不同的Windows SDK头文件:BluetoothAPIs.h,bluetoothleapis.h,bthdef.h,bthledef.h,bthsdpdef.h,no_sal2.h,winapifamily.h,ws2bth.h.

另外看来,这个单独的安装程序与主要的RAD Studio安装程序冲突.主安装程序还会安装这些相同的头文件.然后运行此安装程序,并替换这些文件.然后它出于某种未知原因启动官方Microsoft Windows 10 SDK安装程序.如果卸载Embarcadero SDK安装程序包,则会完全删除这8个头文件(因此会发生冲突).

所以:(1)为什么他们不在主安装中只包含那8个头文件 - 这一切的重点是什么,(2)为什么他们启动官方的Microsoft Windows 10 …

delphi c++builder delphi-10-seattle

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

为什么我不能用reset()删除unique_ptr <char []>?

当我有一个指向单个对象的唯一指针时,我可以删除它reset():

std::unique_ptr<char> variable(new char);
variable.reset();
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于std::unique_ptr包含数组.为什么?删除这样的指针的正确方法是什么?

我正在使用Embarcadero C++ Builder 10.1.相关标准是C++ 11.

我的观察

当我有一个包含数组的唯一指针时,无法编译:

std::unique_ptr<char[]> variable(new char[10]);
variable.reset();
Run Code Online (Sandbox Code Playgroud)

错误信息是no matching function to call for 'reset'.

这也失败了:

std::unique_ptr<char[]> variable(new char[10]);
variable.reset(nullptr);
Run Code Online (Sandbox Code Playgroud)

错误消息是cannot initialize a variable of type 'pointer' (aka 'char *') with an lvalue of type '<bound member function type>'assigning to '<bound member function type>' from incompatible type '_Null_ptr_type' (aka 'nullptr_t').

这编译:

std::unique_ptr<char[]> variable(new char[10]);
variable = nullptr;
Run Code Online (Sandbox Code Playgroud)

来自<memory>的相关代码

template<class _Uty>
using …
Run Code Online (Sandbox Code Playgroud)

c++ c++builder unique-ptr c++11

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