作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码引发 EConvertError -“无法将 TAdoConnection 分配给 TAdoConnection”
var
wTmpADOConn : TADOConnection;
begin
//
Result := nil;
try
Result := TADOConnection.Create(nil);
wTmpADOConn := afunc(aNameConn);//aFunc-Function which returns a pointer to a TADOConnection object, aNameConn - string- the name of connection
if wTmpADOConn <> nil then
begin
Result.Assign(wTmpADOConn);//here the error is raising
我不明白我做错了什么。我尝试将变量 wTmpADOConn 转换为 TAdoConnection 或 TPersistent,但没有成功。
我知道可以使用分配过程来复制对象。
代码是用Delphi 7编写的。
LE:谢谢大家,问题是该对象是共享对象,是对另一个ADOConnection的引用。我想要我自己的对象,这样我就可以释放它,而不释放引用。逻辑很复杂,我需要某种机制来从该引用创建对象。
最佳答案
您无法将 TADOConnection 分配给 TADOConnection,因为 TADOConnection 类中未实现此类分配。这很常见 - 许多类没有实现分配方法,并且您不能指望任何 TPersistent 后代实现分配方法 - 通常不需要它。
关于delphi adoconnection econvert错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016009/
我是一名优秀的程序员,十分优秀!