Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Witam Was,

W Delphi już siedzę od jakiegoś czasu, ale natknąłem się na problem jakiego nie umiem przeskoczyć, a mianowicie poprawne zainstalowanie biblioteki do programu (libMySQL.dll). Robię to tak:

1. Baza danych do jakiej potrzebuję się dostać jest na serwerze zewnętrznym, jest w wersji 5.0.67 .

2. Ściągnąłem Serwer MySQL z MySQL.org (link, wersja 5.1.38).

3. Skopiowałem bibliotekę libmysql.dll z katalogu C:/Program Files/MySQL/bin do Windows/System32 (2.359.296 bajtów, modyfikowana 18 sierpnia).

4. Aplikacja przy próbie uruchomienia zwraca błąd "Unable to Load libmysql.dll".

Co robię źle?

Dodam, że posługuję się tutorialem: link.
Jarek Karciarz

Jarek Karciarz właściciel, OSITRON
Polska

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Cześć,
jesli nie instalujesz klienta mySQL tylko sama DLLkę, to wydaje mi się, że na ścieżce powininno też być dostępne VC++ runtime. Ale która wersja to juz nie pamiętam. Miałem podobną sprawę, gdy chciałem na prędce odpalić klienta mySQL w innej wersji niz zainstalowany klient. Wrzuciłem libMySql.dll i właścnie jesli dobrze pamiętam trzeba jeszcze było dorzucić runtime
Mariusz Bułkowski

Mariusz Bułkowski W tajnej służbie Jej
Królewskiej Mości

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Uruchomienie krok po kroku nic nie daje ? Trzeba by poszukać miejsca gdzie jest ładowana biblioteka i w jaki sposób. Może to natchnie

Hipoteza: Ciekawe czy biblioteka nie musi być w katalogu programu ? Czy tez moze byc w PATH

Uruchamiasz program z IDE czy klikając w exe ?
Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Mariusz Bułkowski:
Uruchomienie krok po kroku nic nie daje ? Trzeba by poszukać miejsca gdzie jest ładowana biblioteka i w jaki sposób. Może to natchnie

Hipoteza: Ciekawe czy biblioteka nie musi być w katalogu programu ? Czy tez moze byc w PATH

Uruchamiasz program z IDE czy klikając w exe ?

IDE oraz EXE generują ten sam błąd. Dodałem DLL do katalogu programu i dalej nie działa.

Program próbuje załadować DLL na procedurze:

procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
SQLConnection1.Connected := True;
end;
Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Jarek Karciarz:
Cześć,
jesli nie instalujesz klienta mySQL tylko sama DLLkę, to wydaje mi się, że na ścieżce powininno też być dostępne VC++ runtime. Ale która wersja to juz nie pamiętam. Miałem podobną sprawę, gdy chciałem na prędce odpalić klienta mySQL w innej wersji niz zainstalowany klient. Wrzuciłem libMySql.dll i właścnie jesli dobrze pamiętam trzeba jeszcze było dorzucić runtime

Zainstalowałem Microsoft Visual C++ 2008 Redistributable Package (x86) i dalej nic nie pomaga... Starsze wersje system mi odrzucał ze względu na to, że mam nowszy system.
Mariusz Bułkowski

Mariusz Bułkowski W tajnej służbie Jej
Królewskiej Mości

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

SOA #1 - u mnie działa

Trzeba by ustawić breakpoint (F5)
I jak program dojdzie do punktu przerwania to potem (F7)
Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Mariusz Bułkowski:
SOA #1 - u mnie działa

Trzeba by ustawić breakpoint (F5)
I jak program dojdzie do punktu przerwania to potem (F7)

Jak pisałem wykrzacza się na SQLConnection1.Connected := True; , czyli na 1 linijce programu używającej libMySQL.dll...

Póki co to wrócę do tematu pod koniec tygodnia, ale za sugestie będę wdzięczny.
Jarek Karciarz

Jarek Karciarz właściciel, OSITRON
Polska

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Ja mam jeszcze w katalogu dbxmys30.dll, ale juz nie pamiętam dlaczego to sie tam znajduje. Chyba jest to związane z używaniem komponentów borlanda do róznych wersji serwera mySQL.
Najlepiej napisz prosty programik któwy wywołuje LoadLibrary libMySql.dll i sprawdź jaki jest komunikat błędu, moze poda jakiego pliku mu brakuje. Moze jest tez cos w podglądzie zdarzeń
Robert W.

Robert W. Programista

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Nie znam problemu. Ale może należy ją zerejestrować poprzez regsvr32.exe ?

konto usunięte

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Masz najprawdopodobniej dll-kę nie od tej wersji mysqla.
Mariusz Bułkowski

Mariusz Bułkowski W tajnej służbie Jej
Królewskiej Mości

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

wykracza się tak niewiele mówi, dziwne że nie możesz debugerem przesledzic kodu komponentu i znaleźc dokładne miejsce wystapienia błedu , bo jezeli Ty widzisz tylko blad na linni
SQLConnection1.Connected := True;
to tak naprawdę nic nie widzisz bo miejsce gdzie jest błąd jest głębiej trzeba troche pociskać F7

DLL w tej wersji co posiadasz może mieć jakies zależnosci do inych dll i to też można sprawdzić czy je spełniasz.
Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Dziękuję za wszelkie sugestie, jak pisałem odezwę się pod koniec tygodnia - teraz inne ważne sprawy mnie trzymają z dala od Delphi.
Jarosław Podsadni

Jarosław Podsadni www.enterspace.pl

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Proponuję zapoznać się z tą DLL'ką.
http://www.justsoftwaresolutions.co.uk/delphi/dbexpres...

Kopiujemy dll do katalogu gdzie mamy exeka z programem.
W komponencie SQLConnection zamieniamy LibraryName=dbxmys30.dll na dbxopenmysql50.dll.
Powinno działać.

Mi działa. Obojętnie czy postawię serwer na Linuxie czy Windowsie.
Paweł Szymański

Paweł Szymański UX, UI, Frontend,
contracting,
entrepreneurship

Temat: Delphi 7 Ent. + MySQL - problemy z uruchomieniem aplikacji

Dziękuję za podpowiedź, też sprawdzę!



Wyślij zaproszenie do