Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Problem (Zugriffsverletzung) mit ZeosConnection

  Alt 5. Mai 2008, 09:23
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOSDBO-6.6.2
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.
  Mit Zitat antworten Zitat