Hallo teebee,
Zitat von
teebee:
Das Problem liegt nicht darin, dass das Array Posts die Länge 0 hat, dann würde High nämlich einfach -1 zurückliefern und alles wäre ok.
In meinen Programmen resultiert dynArray = nil aus SetLength(dynArray, 0).
Zitat von
teebee:
Die
AV kommt ja außerdem aus der libmysql.dll und nicht aus der Anwendung.
Das behauptet der thread owner, der gezeigte code gibt das aber nicht her.
Zitat von
teebee:
Hier verhält es sich so, dass _myRes Nil ist, wenn die Ergebnismenge leer ist.
Diese Implikation ist definitiv falsch. Die Kontrollstruktur für den result set wird auch für die leere Menge erzeugt.
Zitat von
teebee:
Der darauffolgende Aufruf von mysql_num_rows() mit Nil als Argument führt zu der
AV.
Tatsächlich produziert der Aufruf von mysql_num_rows(nil) eine
AV, wenn aber _myres nil ist, dann nicht wegen eines leeren result set, sondern eher wegen einer fehlerhaften
query.
Grüße vom marabu