Thema: Delphi Pointer auf Oberklassen

Einzelnen Beitrag anzeigen

Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#11

Re: Pointer auf Oberklassen

  Alt 16. Sep 2003, 11:43
Und warum sind die nicht kompatibel? TIBQuery ist doch ein Nachfahre von TQuery, oder? Ich kann mich halt nicht entscheiden, weil ich nachher eine DLL für Interbase und eine für MySQL benutzten will. Mein Hauptprogramm soll es ganz egal sein, was für eine Datenbank die DLL nutzt.

[edit] OK, simmt, sorry, du hast recht, TIBQuery ist ein Nachfahre von Tdataset nicht aber von TQuery![/edit]


ich habe das mal auf total simplen Code verringert:

Delphi-Quellcode:
var
  qrmain: TIBQuery;
  p:pointer;


procedure TForm1.Button1Click(Sender: TObject);
begin
qrmain := TIBQuery.Create(nil);
p := @qrmain;
end;

procedure TForm1.Button2Click(Sender: TObject);
var tempqr:TQuery;
begin
tempqr := TQuery(p^);

tempqr.Sql.Text := 'SELECT * FROM tabelle';
tempqr.ExecSQL;
end;
Und genau das schlägt auch schon fehl. Es liegt also nicht an der DLL sondern an der Funktion an sich!
  Mit Zitat antworten Zitat