Hallo,
Ich möchte per DCOM ein _Recordset vom Server zum Client übertragen. Ich habe mich dabei an folgendes Beispiel gehalten:<br>
<PRE>
function TADOServer.ReturnRS: OleVariant;
var
adoCon1: _Connection;
adoRs1: _Recordset;
begin
adoCon1 := CoConnection.Create;
adoRs1 := CoRecordset.Create;
adoCon1.CursorLocation := adUseClient;
adoCon1.Open(cConnStr, '', '', 0);
adoRs1.Open('SELECT * FROM [Meine Tabelle]', adoCon1, adOpenKeyset,
adLockBatchOptimistic, 0);
// vollständiges (lebendes) ADO-Recordset zurückliefern
Result := adoRs1;
adoRs1.Set_ActiveConnection(nil);
adoCon1.Close;
end;
</PRE>
<p>
Ich weiss, das dieses Beispiel unter D5 funktioniert hat, aber unter D7 bekomme ich schon beim Compilieren die Fehlermeldung:<br>
Inkompatible Typen: 'OleVariant' und 'Pointer'
Was muss ich statt nil schreiben, damit es funktioniert?
Ich möchte per DCOM ein _Recordset vom Server zum Client übertragen. Ich habe mich dabei an folgendes Beispiel gehalten:<br>
<PRE>
function TADOServer.ReturnRS: OleVariant;
var
adoCon1: _Connection;
adoRs1: _Recordset;
begin
adoCon1 := CoConnection.Create;
adoRs1 := CoRecordset.Create;
adoCon1.CursorLocation := adUseClient;
adoCon1.Open(cConnStr, '', '', 0);
adoRs1.Open('SELECT * FROM [Meine Tabelle]', adoCon1, adOpenKeyset,
adLockBatchOptimistic, 0);
// vollständiges (lebendes) ADO-Recordset zurückliefern
Result := adoRs1;
adoRs1.Set_ActiveConnection(nil);
adoCon1.Close;
end;
</PRE>
<p>
Ich weiss, das dieses Beispiel unter D5 funktioniert hat, aber unter D7 bekomme ich schon beim Compilieren die Fehlermeldung:<br>
Inkompatible Typen: 'OleVariant' und 'Pointer'
Was muss ich statt nil schreiben, damit es funktioniert?
Comment