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!