LazarusIDE startet nicht mehr nach Compilieren

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

"Das Programm kann nicht gestartet werden, da sqlite.dll auf dem Computer fehlt. Installieren Sie das Programm erneut, um das Problem zu beheben."

Ich habe versucht, eine eigene Komponente zu bauen (irgend etwas harmloses, ich weiß nicht mehr genau, was ich dazugebaut habe) und danach die IDE kompiliert, wie es in irgend einem Tutorial stand. Dummerweise startet die IDE nun nicht mehr. Klar kann ich neu installieren, aber damit ist mir ja nicht geholfen, wenn ich eine eigene Komponente bauen will, oder?

Hat jemand eine Ahnung, wie ich die Kuh vom Eis bekomme?

Andreas

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von Michl »

Um die Kuh schnell vom Eis zu bekommen, kannst du die Lazarus.exe löschen und durch die Lazarus.old.exe ersetzen (beim Erstellen von Lazarus wird dieses Backup erstellt). Dann startest du Lazarus, entfernst das von dir zuvor eingefügte Package wieder. Danach kannst du Lazarus wieder normal bauen und einen neuen Versuch starten. Viel Erfolg!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von marcov »

Es soll auch möglich sein mit lazbuild, aber ich nutze immer einfachweg "make clean all" im lazarus dir.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von Warf »

Ist die dll im System32 Ordner? Wenn nicht kopiere sie dort hinein, dann sollte lazarus diese auch finden

am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

Der Trick mit der .old.exe funktioniert erst einmal, soweit so gut.

Zum Zweck meines Treibens:
Ich habe eine Komponente TMyPaintBox von TPaintBox abgelitten und in dieser die Funktion "MacheIrgendWas" definiert, die lustig irgendwelche Farben verstellt und einen Rahmen malt. (Ist gewissermaßen mein "Hallo Welt" für Komponenten).
Ziel ist, mit möglichst wenig Versuchen eine eigene Komponente zu entwickeln und einzubauen. Irgendwann soll dies Paintbox natürlich eine echte Funktionalität haben, vermutlich wird sie in irgendeiner Form Koordinatenbasierte Daten darstellen können. (Geoinformationen/CAD - irgend so etwas)

Ich habe nun einige Versuche unternommen, (normale IDE, optimale IDE ...) zu compilieren, aber die Fehlermeldung bleibt gleich. Die SQLite- Quellen befinden sich auch da, wo sie sich bei "Einstellungen Lazarus compilieren" befinden sollten.
Aber das scheint so nicht zu reichen. Wo genau sucht er denn eine sqlite.dll? Vielleicht kann ich sie einfach dorthin kopieren!

Weitere Ideen?

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von Warf »

Die SQL Lite DLL ist eine Dynamische Bibliothek die Funktionen zur Arbeit mit SQLite Datenbanken zur verfügung stellt. Anscheinend Versucht irgend etwas in Lazarus diese Bibliothek zu laden (z.B. wenn du irgendwo den SQLite Header drin hast, und dieser mit der Komponente in Lazarus integriert wird). Findet das Programm (Lazarus) diese Bibliothek nicht, dann kann es nicht auf die Funktionalität zugreifen und stürtzt ab.
Wenn du eine SQLite Komponente / Unit / Package irgendwo verwendest, entweder das entfernen oder die SQLite.dll runterladen und in den System32 Ordner von Windows kopieren.

Link zu SQLite

am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

:(

Ich tat, wie mir geheißen, aber die Fehlermeldung bleibt, trotz der dll im System32- Ordner
So langsam bin ich etwas ratlos. Kann es mal jemand anders probieren, ob es klappt?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von af0815 »

Passt die dll 32/64 Bit mit dem Lazarus 32/64 überein. Welches Paket in Lazarus ist für das Verhalten verantwortlich ?

Bei mir befindet sich die dll in 2 Verzeichnissen. Einmal im Verzeichnis der exe von Lazarus (für die Designzeit) und einmal im Verzeichnis wo die exe meines Projektes liegt (für die Laufzeit des Programmes).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

Hab es mal wieder probiert, komme immer noch nicht weiter.
Folgendes Szenario:

- Lazarus 1.6.2 läuft unter Windows 7 - kein Problem

--> "Lazarus compilieren" einrichten --> (keine Optionen verändert) --> Neu compilieren

compiliert fröhlich vor sich hin, startet das Programm neu und kommt dann mit der Fehlermeldung

Lazarus.exe - Systemfehler
Das Programm kann nicht gestartet werden, da sqlite.dll auf dem Computer fehlt. Installieren Sie das Programm erneut, um das Problem zu beheben.


--> umbenennen von Lazarus.old.exe in Lazarus.exe --> alles geht wieder

Also scheint die sqlite3.dll dort zu sein, wo die alte exe sie sucht, nur die neue sucht woanders.

Hat jemand mal die Muße, das auszuprobieren?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von Mathias »

Hast du die Package sqlite3laz 0.4 oder sqlitelaz 0.4 installiert ?
Wen ja, würde ich mal versuche diese zu entfernen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von shokwave »

am2 hat geschrieben:Lazarus 1.6.2 läuft unter Windows 7 - kein Problem

Was für ein Lazarus (32/64bit) und was für ein Windows 7(32/64bit) hast du?

Welche Version(32/64bit) der sqlite.dll du benötigst, hängt von deinem Lazarus bzw. FPC (32/64bit )ab. Das bedeutet ein 32bit Programm benötigt eine 32bit dll.

Die entsprechende dll kannst du dann entweder in den Ordner des Programms (hier Lazarus und dein(e) Projekt(e)) oder in den Systemordner für dlls (C:\Windows\System32) kopieren. Zur zweiten Möglichkeit ist noch zu erwähnen, dass es unter Windows 64bit 2 Ordner für dlls gibt. Einmal C:\Windows\System32 für 64bit dlls und C:\Windows\SysWOW64 für 32bit dlls. Klingt komisch, ist aber so.

am2 hat geschrieben:Also scheint die sqlite3.dll dort zu sein, wo die alte exe sie sucht, nur die neue sucht woanders.

Ich denke eher das das "alte" Lazarus keine SQLite-Komponente installiert hatte.
mfg Ingo

am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

shokwave hat geschrieben:
am2 hat geschrieben:Lazarus 1.6.2 läuft unter Windows 7 - kein Problem

Was für ein Lazarus (32/64bit) und was für ein Windows 7(32/64bit) hast du?

Welche Version(32/64bit) der sqlite.dll du benötigst, hängt von deinem Lazarus bzw. FPC (32/64bit )ab. Das bedeutet ein 32bit Programm benötigt eine 32bit dll.

Die entsprechende dll kannst du dann entweder in den Ordner des Programms (hier Lazarus und dein(e) Projekt(e)) oder in den Systemordner für dlls (C:\Windows\System32) kopieren. Zur zweiten Möglichkeit ist noch zu erwähnen, dass es unter Windows 64bit 2 Ordner für dlls gibt. Einmal C:\Windows\System32 für 64bit dlls und C:\Windows\SysWOW64 für 32bit dlls. Klingt komisch, ist aber so.

am2 hat geschrieben:Also scheint die sqlite3.dll dort zu sein, wo die alte exe sie sucht, nur die neue sucht woanders.

Ich denke eher das das "alte" Lazarus keine SQLite-Komponente installiert hatte.


unter "Über Lazarus" steht i386-win32-win32/win64
mein Windows möchte gern ein 64- Bit- Betriebssystem sein.

Hinsichtlich der Installation: Ich habe durchaus auch SQLite- Projekte damit gemacht, das war nicht das Problem.
Aber noch einmal: Ich habe hinsichtlich SQLite nichts unternommen, also auch nicht eingefordert, dass beim Neubau der IDE SQLite in irgendeiner Weise anders behandelt wird, als vorher.

Ich verstehe tatsächlich überhaupt nicht, was ihn dazu veranlasst, nach SQLite (vielleicht auch nur an anderer Stelle) zu suchen.

Grüße nach Thüringen
am2

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von shokwave »

OK. Du hast ein 32bit-Lazarus und offenbar auch eine 32bit-sqlite.dll, da du schreibst mit dieser Installation bereits mit SQLite gearbeitet zu haben.
Wie sicher bist du dir, das es nach dem kompilieren immer noch ein 32bit-Lazarus ist? Ich will damit fragen, hasst du zufällig einen 64bit FPC installiert und unter Werkzeuge/Einstellungen eingestellt?

Um auf Nummer sicher zu könntest du auch, wie oben beschrieben beide sqlite.dlls(32/64bit) in die entsprechenden Windowsordner kopieren. Dann sollte es auf jeden Fall hinhauen.
mfg Ingo

am2
Lazarusforum e. V.
Beiträge: 116
Registriert: Di 21. Dez 2010, 09:59
OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
CPU-Target: 32 Bit

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von am2 »

shokwave hat geschrieben:OK. Du hast ein 32bit-Lazarus und offenbar auch eine 32bit-sqlite.dll, da du schreibst mit dieser Installation bereits mit SQLite gearbeitet zu haben.
Wie sicher bist du dir, das es nach dem kompilieren immer noch ein 32bit-Lazarus ist? Ich will damit fragen, hasst du zufällig einen 64bit FPC installiert und unter Werkzeuge/Einstellungen eingestellt?

Einer meiner Versuche bestand darin, als Zielsystem Win32 vorzugeben.
Kann ich irgendwie testen, ob ein Programm die 32 oder 64- bit- Version IST?

shokwave hat geschrieben:Um auf Nummer sicher zu könntest du auch, wie oben beschrieben beide sqlite.dlls(32/64bit) in die entsprechenden Windowsordner kopieren. Dann sollte es auf jeden Fall hinhauen.

Du klingst so, als wäre das definitiv ein Problem von 32 oder 64 bit, ist das so?

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: LazarusIDE startet nicht mehr nach Compilieren

Beitrag von Jole »

Du klingst so, als wäre das definitiv ein Problem von 32 oder 64 bit, ist das so?

Das stimmt schon, du kannst einem 64Bit Programm keine 32Bit Dll unter jubeln. Wenn du dir nicht ganz sicher bist würde ich, wie bereits vorgeschlagen, beide Versionen verwenden.

Noch eine Anmerkung zum System32 Ordner:
Ich Persönlich bin der Meinung das Manuell installierte Dll's (dazu gehört auch die SQlite) nichts im System32 Ordner zu suchen haben. Dafür sollte man sich einen eigenen Ordner anlegen, zB. C:\UserDll oder UserLib und erweitert den Windows Pfad entsprechend. Das hat auch den Vorteil das man einen viel besseren Überblick über die eigens installierten Dll's hat.

Antworten