我在公司的一台电脑上有一个看似独特的问题(必须是我老板的).我有一个来自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测试人员......除了我的老板之外的每个人都可以正常工作.任何帮助将非常感激.
我有这样的公共接口层次结构:
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++ 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)
我希望整个表格可以拖动.
有一个带有一些数字列的网格,需要为每个列实现一个聚合(总和或计数)并在相应的列下显示它.
我知道有些套件(DevExpress或其他套件)已经"默认"实现了.但是有一种方法可以使用默认控件或JVCL来实现它吗?
我试图在0处进行简单的字符串访问,由于某种原因,我在Borland Builder 5 C++中遇到了一个越界错误.
有没有人找到解决这个问题的方法?Borland编译器使用了一种特殊类型的字符串吗?
我msbuild在RAD Studio XE4中遇到了一些奇怪的错误,我正在寻求帮助来诊断正在发生的事情.我已经遇到了这个问题已经有几个星期了,但是我自己也没有成功解决这个问题 - 时间问得更广泛了.症状是:
msbuild Project.cbproj似乎可以正常工作msbuild Project.cbproj /t:Clean,并删除中间文件.输出的可视扫描不显示任何异常文件被删除 - 只有.obj文件,链接器状态文件,最终EXE等.msbuild Project.cbproj /t:Build或只是简单失败,并显示以下错误消息:msbuild Project.cbprojMicrosoft(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'
Run Code Online (Sandbox Code Playgroud)0 Warning(s) 1 Error(s)
有些事情让我觉得这个:
True.dpr不存在,也无法找到手动搜索.cbproj文件True.dpr的True …C++ Builder中Android,iOS,Win32,Win64的平台条件定义是什么?我发现只有Delphi的例子.
我正在为Delphi和C++ Builder维护VirtualTreeView组件.使用Delphi一切都很好但是当我使用C++ Builder编译软件包时,Delphi单元初始化部分中的代码不会被调用.有任何想法吗?
在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的安装文件,试图弄清楚发生了什么,但我没有一个很好的答案为什么他们正在做他们做的事情:
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 …
当我有一个指向单个对象的唯一指针时,我可以删除它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)
template<class _Uty>
using …Run Code Online (Sandbox Code Playgroud) c++builder ×10
c++ ×3
delphi ×3
border ×1
c++11 ×1
c++builder-5 ×1
delphi-xe4 ×1
drag ×1
firebird ×1
linker ×1
msbuild ×1
odbc ×1
rounding ×1
sql ×1
string ×1
tdbgrid ×1
unique-ptr ×1
vcl ×1
visual-c++ ×1