Lazarus & Sqlite verbinden ?

Für Fragen von Einsteigern und Programmieranfängern...
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

MmVisual hat geschrieben:@Tango
Zippe mal dein Projekt (ohne die EXE, ohne Dll) und poste das mal.

@Bauer321
>> neuste laz version werd ich morgen ma austesten hab aber schon ne relativ neue
Wenn die nicht älter ist als 1/2 Jahr sollte es funzen.
aktuellste version von heute --> geht leider nicht(selber fehler wie vorhin
www.mcpatcher.net | www.hoeper.me

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Ich hab mal so ein Mini-Projekt gemacht. (Mit Zeos-DBO)

- Entpacken
- SQLite3.dll in das Verzeichnis kopieren
- project1.lpi doppelklicken (Lazarus öffnet)
- F9 (Kompillieren)

Was passiert?
- Bei Start wird einen neue Datenbank angelegt
- Und eine Tabelle erzeugt
- Und Tabelle geöffnet

Edit:
Ich habe diese Version, vom 6.Dezember: Lazarus-0.9.29-28634-fpc-2.4.2-20101206-win32.exe
Dateianhänge
TestAdr.zip
(3.02 KiB) 116-mal heruntergeladen
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

wie ich bereits erwartet hatte bekomme ich diese meldung :

Bild

wenn ich es kompilieren möchte(also das package) wird immer auf diese stelle im code hingewiesen:

Code: Alles auswählen

ZEOS_VERSION = '6.6.6-stable';
 
type
  { Lazarus/FreePascal Support }
  {$IFDEF FPC}
  PDateTime = ^TDateTime;
 
  TAggregatedObject = class(TObject)
  private
    FController: Pointer;
    function GetController: IInterface;
  protected
    function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
  public
    constructor Create(const Controller: IInterface);
    property Controller: IInterface read GetController;
  end;
 
  TContainedObject = class(TAggregatedObject, IInterface)  //diese zeile wird orange makiert....
  protected
    function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
  end;
  {$ENDIF}
 
  {** Replacement for generic interface type. }
  IZInterface = IUnknown;
 
  {** Represents an interface for all abstract object. }
  IZObject = interface(IZInterface)
    ['{EF46E5F7-00CF-4DDA-BED0-057D6686AEE0}']
    function Equals(const Value: IZInterface): Boolean;
    function Hash: LongInt;
    function Clone: IZInterface;
    function ToString: string;
    function InstanceOf(const IId: TGUID): Boolean;
  end;
das ist meine lazarus version : Lazarus-0.9.31-28871-fpc-2.5.1-20110106-win32.exe(heute)
www.mcpatcher.net | www.hoeper.me

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Ja, Zeos muss installiert sein, sonst klappt das nicht. Siehe Bild.
Dateianhänge
Bild1.png
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

das ist ja das wo es die ganze zeit dran scheitert, ich kann Zeos ja nicht installieren
www.mcpatcher.net | www.hoeper.me

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Wo gibt es das zu laden? "Lazarus-0.9.31-28871-fpc-2.5.1-20110106-win32.exe"
Auf der Seite http://www.hu.freepascal.org/lazarus/" onclick="window.open(this.href);return false; gibt es nur "Lazarus-0.9.31-28871-fpc-2.4.2-20110106-win32.exe".

Ich wollte grad auch das neueste laden, damit wir vom gleichen reden.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

ftp://ftp.freepascal.org/pub/lazarus/sn ... -win32.exe

welches Zeos version hast du denn? edit also ich versuch es die ganze zeit mit 6.6.6 stable
edit: aber auch 7.0 alpha geht nicht
www.mcpatcher.net | www.hoeper.me

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Die 7.0 alpha ist buggy. Ich lade gerade die Lazarus, dauert ein wenig, da ich am Ar..h der Welt Wohne.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

ok ;) das mit dem download kenn ich da muss man immer warten aber was solls immer schön die ruhe bewahren :D
www.mcpatcher.net | www.hoeper.me

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
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: Lazarus & Sqlite verbinden ?

Beitrag von af0815 »

Schaut so aus als würde die Zeos 6.6.x über den FPC 2.5.1 stolpern.Siehe auch hier

Entweder den FPC 2.4.2 (=stable) verwenden oder den SVN-Stand von Zeos nehmen. Die einfachere Lösung ist, ein Lazaruspaket nehmen mit dem stabilen FPC.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

danke für den hinweis ich wär da nie im leben drauf gekommen das das nnicht abwärtskompatibel ist^^
naja jetzt gehts ;)(hab einfach neuste version mit fpc 2.4.3 genommen)
www.mcpatcher.net | www.hoeper.me

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
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: Lazarus & Sqlite verbinden ?

Beitrag von af0815 »

Falls es noch Meldungen über die fehlende sqlite dll gibt (speziell unter Windows) dann muß die dll zweimal vorhanden sein. Einmal im selben Verzeichnis wie Lazarus (für designtime) und einmal im Pfad, wo die exe liegt (für runtime).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Während dem Waren habe ich mal Vorbereitet, mein altes C:\Lazarus umbenannt
Neu angelegt:
- C:\lazarus\components\ZeosDBO\
- Zip mit V6.6.6 den 4 Ordner (und Dateien) einkopiert

- Lazarus Setup ausgeführt "Lazarus-0.9.31-28871-fpc-2.5.1-20110106-win32.exe"
- Lazarus gestartet
- Werkzeuge >> "Kompilliere Lazarus mit Profil: MyProfile" >> Ja.
- Warten
- Fehler, warum auch immer. (irgend welche Exampels)
- Werkzeuge >> "Lazarus kompillieren" einrichten ...
- "Beispiele" nicht kompillieren gesetzt
- Einstellungen Kompillerschalter "-CX -XX -Xs" (muss aber nicht sein)
- Taste Neukompilieren
- Meckermeldung weil vorher eine andere Komponente da war, die ich nicht mehr brauche (ist wur bei mir so, deshalb muss ich zu erst kompillieren vor Komponenteninstallation)
- Nochmals Neukompilieren
- Nochmals mecker wegen extra Komponente, nochmals rumfummeldn und aus Komponentenliste löschen
- Nochmals Neukompilieren
- jetzt geht es. (Es liegt wohl daran dass ich Lazarus irgend welche Benutzerinfos in den Windows-User Verzeichnissen merkt, daher habe ich jedesmal Probleme)
Ein neu kompilliertes Lazarus, darauf kann man jetzt mit Komponenten aufbauen.

- Package >> Package Datei (.lpk) öffnen
- Datei: C:\lazarus\components\ZeosDBO\packages\lazarus\zcomponent.lpk
- Taste "Kompillieren"
- Jetzt sehe ich die gleiche Fehlermeldung. :evil:

Code: Alles auswählen

C:\lazarus\components\ZeosDBO\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found
OK, ich hab ja auch gar keine Ahnung was IInterface ist oder macht. Aber Strg+Mausklick öffnet das Ding. Siehe da, in diesem IInterface gibt es eine Funktion die heißt "QueryInterface" aber mit anderer Deklaration. Da ich immer noch keine Ahnung habe, hab ich das einfach mal kopiert.
So sieht es jetzt aus:

Code: Alles auswählen

TContainedObject = class(TAggregatedObject, IInterface)
  protected
    function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
//    function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
  end;
Nächste mecker korrigiert:

Code: Alles auswählen

function TContainedObject.QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} iid : tguid;out obj) : longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF};
//function TContainedObject.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  if GetInterface(IID, Obj) then
    Result := S_OK
  else
    Result := E_NOINTERFACE;
end;
- Taste "Kompillieren" klappt jetzt
- Taste "Installieren" >> OK >> Ja.
- Warten.
- Lazarus ist wieder da, Mein Test-Projekt geht auf und F9, geht.

Fertig.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Lazarus & Sqlite verbinden ?

Beitrag von Bauer321 »

Danke geht ;)

dann werd ich mich morgen gleich ma ran amchen was neues mit ner db zu machen ;)
www.mcpatcher.net | www.hoeper.me

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Lazarus & Sqlite verbinden ?

Beitrag von MmVisual »

Die so geänderte Datei müsste auch mit der älteren FPC Version gehen.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten