我有以下代码,它引发了 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,但没有成功。
我知道要复制一个对象,可以使用 Assign 过程。
代码是用 Delphi 7 编写的。
LE:谢谢大家,问题是对象是共享对象,是对另一个ADOConnection的引用。我想要我自己的对象,所以我可以释放它,而不释放引用。逻辑很复杂,我需要一些机制来从该引用创建一个对象。