Hallo,
ich habe jetzt meine
DB auf
MySQL 5 umgestellt und dazu die ZEOS Komponenten installiert.
Irgendwie passt die mitgelieferte Installationsanleitung nicht zu dem tatsächlichen Ablauf, deshalb beschreibe ich den mal kurz, falls hier schon der Hund begraben liegen sollte.
1. Das heruntergeladenen ZIP ausgepackt.
2. Die Datei "ZeosDbo.bdsgroup" unter Packages\Delphi10 geöffnet.
3. Projekt - Alle Projekte compilieren
4. Es gab Warnungen.
5. "ZComponentDesign.bdsproj" installieren
6. Die Komponenten wurden hinzugefügt
7. Den Pfad "\build" hinzugefügt
8. "libmysql.dll" nach System32 kopiert (was anderes habe ich nicht gefunden)
Soweit so gut. Ich habe eine Formularanwendung erstellt, eine ZConnection aufs Formular gezogen und die Einstellungen gemacht. Hier geht es schon los, dass sobald ich versuche Connected zur Entwurfszeit auf True zu setzen, die Meldung bekomme "Folgenden
DLL libmysql.dll libmysql50.dll nicht gefunden". Also zwei Buttons auf das Formular und zur Laufzeit verbunden - funktioniert. Sobald ich nun die Anwendung beende kommt es zu einem Fehler: "Externe
Exception C000000008 aufgetreten".
Was nun? Kennt jemand das Problem?
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ZConnection, ComCtrls, StdCtrls;
type
TForm1 =
class(TForm)
ZConnection1: TZConnection;
Statusbar: TStatusBar;
btVerbinden: TButton;
btTrennen: TButton;
procedure ZConnection1AfterConnect(Sender: TObject);
procedure ZConnection1AfterDisconnect(Sender: TObject);
procedure btVerbindenClick(Sender: TObject);
procedure btTrennenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btTrennenClick(Sender: TObject);
begin
ZConnection1.Disconnect;
end;
procedure TForm1.btVerbindenClick(Sender: TObject);
begin
ZConnection1.Connect;
end;
procedure TForm1.ZConnection1AfterConnect(Sender: TObject);
begin
Statusbar.SimpleText := '
Verbunden';
end;
procedure TForm1.ZConnection1AfterDisconnect(Sender: TObject);
begin
Statusbar.SimpleText := '
Nicht verbunden';
end;
end.