Flocke hat Recht
es geht auch ohne var Parameter
(warum das geht leuchtet mit bloß nicht ganz ein)
...bloß zwischen
IDE und Laufzeit werden die class-Namen anders geschrieben
egal; so funktioniert es jetzt:
Delphi-Quellcode:
function tdbf.OpenSql(query1: tDataSet; tabelle, feld: string; wert: integer): boolean;
var t: string;
begin
query1.close;
t := 'select * from ' + tabelle + ' where ' + feld + ' = ' + inttostr(wert);
if uppercase(query1.classname) = 'TZQUERY'
then (query1 as tzQuery).sql.text := t;
if uppercase(query1.classname) = 'TQUERY'
then (query1 as tQuery).sql.text := t;
if uppercase(query1.classname) = 'TZREADONLYQUERY'
then (query1 as tzReadOnlyQuery).sql.text := t;
query1.open;
result := not (query1.eof and query1.bof);
end;