Entwickler-Ecke
Datenbanken - Mit MDI-Fenster nur einmal am MySQL Server anmelden?
Chilloutfuchs - So 31.08.03 03:42
Titel: Mit MDI-Fenster nur einmal am MySQL Server anmelden?
Hallo,
habe folgendes Problem: Ich habe mir die libmySQL.dll gedownloadet, und mit der seit ein paar Tagen ein wenig rumprobiert. Mir ist aufgefallen, das wenn ich eine MDI-Anwendung habe, muss ich jedes Fenster am Server anmelden. Das ist nervig, und kostet viel Zeit, denn ich habe eine Anwendung mit sehr vielen Fenstern, die alle auf den Server zugreifen müssen. Jetzt wollte ich mal wissen, ob mir jemand sagen kann, wie ich das lösen kann? Ich möchte mich nur einmal mit der Anwendung anmelden müssen!
Ich habe auch schon mal in der MySQL Doku geguckt, und folgendes gefunden:
http://www.mysql.com/documentation/mysql/bychapter/manual_Clients.html#Threaded_clients
Da draus werde ich aber nicht schlau, weil da steht nur wie man die dll unter Linux mit Thread-Funktion neu compiliert, das bringt mir aber nichts!
Wer es mal Versuchen möchte, die DLL gibt es hier:
http://www.fichtner.net/delphi/mysql.delphi.phtml
Thx for help!
UGrohne - So 31.08.03 09:43
Mehrere Male am Server anmelden? Hast Du etwa in jedem Form eine Dat abase-Verbindung? Wenn dem, so sein sollte, dann mach im Hauptfenster oder in einer DataUnit diese Database und verwende sie mit Queries in den jeweiligen Forms.
Chilloutfuchs - So 31.08.03 16:52
Ich habe garkeine Database verbindung! Ich benutze keine Komponente, ich benutze NUR die libmySQL.dll. Oder wie meinst du das?
UGrohne - So 31.08.03 17:16
Und wie verwendest Du sie? Gar keine Kompos? Total API? *grübel*
Chilloutfuchs - So 31.08.03 17:30
Ja, genau nur api....das ist nur die dll und die *.pas datei....kannst es dir ja mal downloaden, dann siehst du es :D
UGrohne - So 31.08.03 20:50
Ohje, dann kann ich Dir leider net helfen, aber vll. kriegst Du es hin, dass Du zum Anfang in dem Mainform die Verbindung aufbaust und diese dann den anderen Forms zur Verfügung stellst
Chilloutfuchs - Mo 01.09.03 01:25
Ja, das ist genau das was ich brauche....das problem müssten doch auch schon leute vor mir gehabt haben....
Klabautermann - Mo 01.09.03 09:34
Hallo,
mit welcher Befehlsfolge greifst du denn erstmalig (in dem MDI-Forms) auf die Datenbank zu?
Gruß
Klabautermann
PS: Benutzt du eine Pers Version von Delphi oder verzichtest du aus Spaß auf die Kompos?
Chilloutfuchs - Mo 01.09.03 10:03
:oops: Hehe ganz komisch! Ich habe gerade ein kleines Program geschrieben, was den Fehler demonstiert, da merke ich, das er nicht mehr auftritt! Alsoi das MDI Fenster ist jetzt auch angemeldet?!?! Ich weiß nicht warum...ich habe eine neue Version der dll ins Verzeichniss kopiert, ich weiß nicht ob es daran lag....auf jeden Fall geht jetzt alles so wie es soll!
Ich verzichte übrigens auf die Komponenten, damit ich später keine BDE mit ausliefern muss! Ich finde die BDE nämlich zimlich nervig für den End-User...
Vielen Dank für eure Hilfe!
Klabautermann - Mo 01.09.03 10:16
Hallo,
Chilloutfuchs hat folgendes geschrieben: |
Ich verzichte übrigens auf die Komponenten, damit ich später keine BDE mit ausliefern muss! Ich finde die BDE nämlich zimlich nervig für den End-User... |
die BDE ist Tot und sollte für MySQL Projekte auch nicht verwendet werden. Seit D6 setzt Borland aud DBExpress und liefert für dieses auch eine MySQL-DLL mit aus. Damit solltest du das ganze (sofern du willst) Komponentenbasiert und DLL-Frei realisieren können. Soviel ich weis muss man da auch nur die dazugehörige DLL mit ausliefern.
Gruß
Klabutermann
Chilloutfuchs - Mo 01.09.03 10:31
Aha, ich nutze erst seit neustem Delphi 7, und habe 6 übersprungen, also längere Zeit mit 5 gearbeitet. Ich werde mir das mal angucken mit den dbExpress Kompos., aber im Moment bin ich eigentlich mitr der dll (wieder) zu frieden. Übrigens bist du sicher das die BDE Tot ist? Ich habe nämlich bei der installation die BDE nicht ausgewählt gehabt, weil ich gelesen habe das man die nicht mehr braucht. Habe ich dann aber die DataSource Kompo. eingebaut, bekam ich eine Fehlermeldung, die erst weg ging, als ich die BDE nachinstalliert habe.
Klabautermann - Mo 01.09.03 11:00
Hallo,
naja Borland hat die Entwicklung eingestellt und empfiehlt DBExpress zu verwenden. Warum tDataSource nicht geht, wenn die BDE nicht dabei ist, kann ich mir auch nicht erklähren. Vieleicht war diese früher mal mit im BDE-Installationsmodul und die haben beim Aussourcen gepfuscht. Auf jedenfall habe ich auch unter D5 schon BDE-Freie Anwendungen mit tDatasource gaeschrieben ;).
Gruß
Klabautermann
Chilloutfuchs - Di 09.09.03 14:00
Moin moin....
hehe, das problem ist gerade schon wieder aufgetreten: Ich habe ein neues MDI Fenster eingebaut, und wenn ich von dort aus einen SQl Befehl ausführen wollte, sagte er: Server is gone away...obwohl ich mich mit einem anderen MDI Fenster aus der gleichen Application angemeldet habe.
Ich habe das Problem jetzt aber gelöst! In der uses-Klausel muss das MDI Fenster angegeben werden, mit dem man sich am Server angemeldet hat! Lag nicht an der andern DLL oder so....Nur noch mal zur Info...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!