procedure TForm1.SQLVerbinden;
begin
MySQL51Connection1.HostName := Form5.ComboBox1.Text;
try
MySQL51Connection1.Open;
except
on EDataBaseError do // <- [b]Hier kommt der Fehler[/b]
begin
ShowMessage('Konnte nicht mit Server verbinden'+#13+'Programm wird beendet');
end;
end;
if MySQL51Connection1.Connected then
begin
Panel2.Color := clGreen;
Panel2.Hint:='Mit SQL-Server '+MySQL51Connection1.HostName+' verbunden';
end;
end;
Exact diesselbe Abfolge an Befehlen verwende ich in etlichen anderen Programmen und die Compilieren problemlos ...
Danke für's Lesen
Christian
Zuletzt geändert von AlterMann am So 20. Feb 2022, 17:05, insgesamt 1-mal geändert.
Ich meine eher: der Name der Exception-Variablen, die hier - ganz Pascal-untypisch - inline erzeugt wird, so dass man auf die Exception-Properties, insbesondere den Message-Text zugreifen kann. Denn statt E:Exception kann man auch jeden anderen gültigen Pascal-Variablenbezeichner verwenden: "on Absturz:Exception do" geht auch.
Dein Hinweis hat mich auf die richtige Spur gebracht.
Ich hatte vergessen die unit "db" einzubinden, deshalb kannte der Compiler den Bezeichner EDataBaseError nicht.
Warum er das do als unbekannt moniert hat, weiß ich nicht. Ist aber auch egal.
Jetzt funktioniert es auf beiderlei Arten mit "E:" davor und ohne.