Mormot 2 Installation
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Mormot 2 Installation
Hallo Leute ich wollte mal nachfragen ob sich jemand in Mormot2 auskennt. Ich habe die Komponente installiert. Es läuft wie jede Komponente klar durch wird kompiliert und Lazarus fährt runter und wieder hoch.- wie immer aber in der Komponentenleiste ist absolut nicht zu sehen.-auch nicht in der Komponentenliste. Was ist da falsch?
Grüße
Grüße
Re: Mormot 2 Installation
mormot2 ist anscheinend ein reines Laufzeitpackage.
mormot2ui sollte Komponenten in der IDE zeigen.
Ich habe sonst keine Ahnung von dem Package.
mormot2ui sollte Komponenten in der IDE zeigen.
Ich habe sonst keine Ahnung von dem Package.
- Dateianhänge
-
- mormot_laz.png (165.84 KiB) 491 mal betrachtet
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
Hallo Theo,
das heißt das dies dynamisch immer wieder geladen wird.-richtig? Ich habe jetzt gedacht kompiliere alles nochmal und schaue was passiert.- Jetzt auf einmal kommt folgende Fehlermeldung:
lazarus.pp(170,1) Error: Can't open object file: ..\..\static\i386-win32\deflate.o
lazarus.pp(170,1) Warning: Object ..\..\static\i386-win32\trees.o not found, Linking may fail !
wo ist denn der Pfad? Kann ich irgendwo das angeben? Es scheint als ob Mormot in Static ein oder mehrere Dateien sucht und diese aber nicht findet. Ich mußte in der Installation eine Static(Ordner) anlegen.-das habe ich alles gemacht, aber es scheint als ob Mormot woanders sucht....merkwürdig.
das heißt das dies dynamisch immer wieder geladen wird.-richtig? Ich habe jetzt gedacht kompiliere alles nochmal und schaue was passiert.- Jetzt auf einmal kommt folgende Fehlermeldung:
lazarus.pp(170,1) Error: Can't open object file: ..\..\static\i386-win32\deflate.o
lazarus.pp(170,1) Warning: Object ..\..\static\i386-win32\trees.o not found, Linking may fail !
wo ist denn der Pfad? Kann ich irgendwo das angeben? Es scheint als ob Mormot in Static ein oder mehrere Dateien sucht und diese aber nicht findet. Ich mußte in der Installation eine Static(Ordner) anlegen.-das habe ich alles gemacht, aber es scheint als ob Mormot woanders sucht....merkwürdig.
Re: Mormot 2 Installation
Nein, es heisst, dass es bei mormot2 keine visuellen Komponenten gibt, also nichts in der Komponentenleiste zu sehen ist.Andy Nightingale hat geschrieben: Fr 30. Jan 2026, 13:12 das heißt das dies dynamisch immer wieder geladen wird.-richtig?
Bei mormot2ui vermutlich schon.
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
Hi Theo,
ja das ui hab ich ja auch installiert.-wenns da aber nichts gibt, wie nutze ich das dann? .-komisch
ja das ui hab ich ja auch installiert.-wenns da aber nichts gibt, wie nutze ich das dann? .-komisch
Re: Mormot 2 Installation
Da musst du jemanden fragen, der sich damit auskennt. Ich glaube Mormot ist nicht so simpel.
Wahlweise auch die Suche benutzen. Z.B.
viewtopic.php?p=148403#p148403
Wahlweise auch die Suche benutzen. Z.B.
viewtopic.php?p=148403#p148403
- af0815
- Lazarusforum e. V.
- Beiträge: 7108
- 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: Mormot 2 Installation
Mormot2 hat normalerweise immer eine Beschreibung in der genau steht, wie man installiert und auch den ersten Test macht. Entweder auf der HP oder in den mitgelieferten Dokumenten. Und man muss sich an die halten, sonst gibt's nur Ärger und Probleme.
Und am besten von der originalen Page, nicht unbedingt über den Paket Manager. Gerade bei der Dynamik vom Lazarus und besonders Mormot2 sollte man auf letzstand sein.
Und am besten von der originalen Page, nicht unbedingt über den Paket Manager. Gerade bei der Dynamik vom Lazarus und besonders Mormot2 sollte man auf letzstand sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
Das habe ich alles gemacht. Du sagtest doch einmal das du mit Mormot arbeitest.-ok wie macht man das? Nur ein kleines Beispiel. Danke dir.af0815 hat geschrieben: Fr 30. Jan 2026, 14:08 Mormot2 hat normalerweise immer eine Beschreibung in der genau steht, wie man installiert und auch den ersten Test macht. Entweder auf der HP oder in den mitgelieferten Dokumenten. Und man muss sich an die halten, sonst gibt's nur Ärger und Probleme.
Und am besten von der originalen Page, nicht unbedingt über den Paket Manager. Gerade bei der Dynamik vom Lazarus und besonders Mormot2 sollte man auf letzstand sein.
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
Hi Theo, ich habe das damals aufgegeben, da genau danach wieder Fehler auftraten...Dachte die neue Version würde etwas ändern...tat es leider nicht. Ich kenne niemand was damit arbeitet.-habe gehofft das hier ein Profi ist und damit arbeitet.-aber leider nicht.ok Danke dir.theo hat geschrieben: Fr 30. Jan 2026, 14:02 Da musst du jemanden fragen, der sich damit auskennt. Ich glaube Mormot ist nicht so simpel.
Wahlweise auch die Suche benutzen. Z.B.
viewtopic.php?p=148403#p148403
- af0815
- Lazarusforum e. V.
- Beiträge: 7108
- 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: Mormot 2 Installation
Ich habe mich etwas in Mormot eingearbeitet, dann den Overhead beurteilt und bin zu dem Schluss gekommen, das es für das Projekt mehr als Oversized ist. Ich habe da mit Mormot und tiOPF gearbeitet, tiOPF dann zuerst verworfen, weil es nicht klar war, wie die Zukunft sein wird.Andy Nightingale hat geschrieben: Fr 30. Jan 2026, 14:24Das habe ich alles gemacht. Du sagtest doch einmal das du mit Mormot arbeitest.-ok wie macht man das? Nur ein kleines Beispiel. Danke dir.af0815 hat geschrieben: Fr 30. Jan 2026, 14:08 Mormot2 hat normalerweise immer eine Beschreibung in der genau steht, wie man installiert und auch den ersten Test macht. Entweder auf der HP oder in den mitgelieferten Dokumenten. Und man muss sich an die halten, sonst gibt's nur Ärger und Probleme.
Und am besten von der originalen Page, nicht unbedingt über den Paket Manager. Gerade bei der Dynamik vom Lazarus und besonders Mormot2 sollte man auf letzstand sein.
Generell solltest du dir die Anleitung einmal von den Grundzügen ansehen, ob Mormot was für dich ist. Das ist ein Schwergewicht, aber sehr flexibel auch über verschiedene Grenzen. Für die meisten Client Server Sachen zu komplex und zuviel Overhead. Ausser man braucht das, weil die Applikation vom Umfang her unbedingt braucht.
Zum Herumspielen und Testen sind die Beispiele sehr gut und auch die Doku dazu.
Installation:
https://github.com/synopse/mORMot2 dort im Readme genau nach Anleitung vorgehen. Hast du den Punkt 1 genau beachtet ? Da muss man unbedingt die mormot2static Pakete richtig einbinden (hin kopieren) und zwar am beschriebenen Ort. Ansonsten gibt es nur ominöse Fehler bezüglich diverser Dateien. Mormot ist genau auf die Dateien von den Versionen hin abgestimmt.
Edit: Erwarte bei Mormot keine GUI - das ist Hardcorekodieren, nix kliki bunti.
Edit2:
Installation auf einem "Lazarus 4.5 (rev lazarus_4_4-43-gb42c5e00a6) FPC 3.2.3 x86_64-linux-qt5" dauert ca. 10 Minuten (inkl. Download) mit Testlauf. Gerade getestet, exakt laut Anleitung.
Start:
Ende:andi@desktop:~/data/pascal/GITHUB/mormot2$ ls -l
insgesamt 76
-rw-rw-r-- 1 andi andi 3564 Jän 30 17:52 CHANGELOG.md
-rwxrwxr-x 1 andi andi 362 Jän 30 17:52 commit.sh
-rw-rw-r-- 1 andi andi 2183 Jän 30 17:52 CONTRIBUTORS.md
drwxrwxr-x 3 andi andi 4096 Jän 30 17:52 doc
drwxrwxr-x 2 andi andi 4096 Jän 30 17:52 docs
-rw-rw-r-- 1 andi andi 1086 Jän 30 17:52 DONATE.md
drwxrwxr-x 12 andi andi 4096 Jän 30 17:52 ex
-rwxrwxr-x 1 andi andi 822 Jän 30 17:52 get_latest_static.sh
-rwxrwxr-x 1 andi andi 49 Jän 30 17:52 kompare.sh
-rw-rw-r-- 1 andi andi 5884 Jän 30 17:52 LICENCE.md
drwxrwxr-x 3 andi andi 4096 Jän 30 17:52 packages
-rw-rw-r-- 1 andi andi 10356 Jän 30 17:52 README.md
drwxrwxr-x 4 andi andi 4096 Jän 30 17:52 res
drwxrwxr-x 16 andi andi 4096 Jän 30 17:52 src
drwxrwxr-x 20 andi andi 4096 Jän 30 17:53 static
drwxrwxr-x 4 andi andi 4096 Jän 30 18:05 test
17:52 bis 17:59 - Ok, sind nicht ganz 8 Minuten. Aber git hat auch ein wenig für den Download gebraucht.mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- Records: 2,110 assertions passed 367us
- TSynList: 3,007 assertions passed 18us
- TDynArray:
.... ...... .........
Time elapsed for all tests: 46.32s
Performed 30 Jan 2026, 17:59:59 by andi on desktop
Total assertions failed for all test suits: 0 / 173,939,560
! All tests passed successfully.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
af0815 hat geschrieben: Fr 30. Jan 2026, 16:48Andy Nightingale hat geschrieben: Fr 30. Jan 2026, 14:24Hallo 0815,af0815 hat geschrieben: Fr 30. Jan 2026, 14:08 Mormot2 hat normalerweise immer eine Beschreibung in der genau steht, wie man installiert und auch den ersten Test macht. Entweder auf der HP oder in den mitgelieferten Dokumenten. Und man muss sich an die halten, sonst gibt's nur Ärger und Probleme.
Und am besten von der originalen Page, nicht unbedingt über den Paket Manager. Gerade bei der Dynamik vom Lazarus und besonders Mormot2 sollte man auf letzstand sein.
ja genau so habe ich es auch gemacht.-nach Vorschrift. Nicht auf Linux wie du sondern Windows.....bei mir geht es nicht. Ich gebe dieses Mormot2 auf. Macht für mich keinen Sinn.
Schön für dich. Ich suche mir eine andere Komponente aus. Danke dir für deinen Test.
- af0815
- Lazarusforum e. V.
- Beiträge: 7108
- 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: Mormot 2 Installation
Es steht auch in den ReadMe's das es mit fpc 3.2.2 (stable) nicht geht! Es muss aufgrund eines Bugs im FPC mindestens der Fixes (3.2.3) sein.
Windows ist mir jetzt klar, aber welchen FPC und Lazarus hast du ?
Windows ist mir jetzt klar, aber welchen FPC und Lazarus hast du ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Mormot 2 Installation
Es hängt davon ab, wofür Sie „mORMot” benötigen.
Ich nutze es derzeit nur für den HTTP(S)-Server (ohne ORM-Elemente – für mich ist das schwarze Magie
) und json (de)serialize. Der Hauptvorteil ist, dass es effizient ist: sowohl als http(s)-Server - im Vergleich zu „Indy” oder „fphttp”, als auch als json-Parser - im Vergleich zu „fpjson”.
Beispiel für json:
Code:
Die JSON-Datei stammt aus diesem Archiv: https://github.com/dr5hn/countries-stat ... s/v2.6.zip
Ich nutze es derzeit nur für den HTTP(S)-Server (ohne ORM-Elemente – für mich ist das schwarze Magie
Beispiel für json:
Code: Alles auswählen
fp load from json: 1232ms | 151024 items
fp save to json: 6127ms
mORMot load from json: 196ms | 151024 items
mORMot save to json: 35msCode: Alles auswählen
program Project1;
{$mode objfpc}{$H+}
{$apptype console}
uses
Classes, SysUtils, DateUtils,
fpjson, fpjsonrtti,
mormot.core.text, mormot.core.json;
type
{ TCityItem }
TCityItem = class(TCollectionItem)
private
Fcountry_code: String;
Fcountry_id: Integer;
Fcountry_name: String;
Fid: Integer;
Flatitude: String;
Flongitude: String;
Fname: String;
Fstate_code: String;
Fstate_id: Integer;
Fstate_name: String;
FwikiDataId: String;
published
property id: Integer read Fid write Fid;
property name: String read Fname write Fname;
property state_id: Integer read Fstate_id write Fstate_id;
property state_code: String read Fstate_code write Fstate_code;
property state_name: String read Fstate_name write Fstate_name;
property country_id: Integer read Fcountry_id write Fcountry_id;
property country_code: String read Fcountry_code write Fcountry_code;
property country_name: String read Fcountry_name write Fcountry_name;
property latitude: String read Flatitude write Flatitude;
property longitude: String read Flongitude write Flongitude;
property wikiDataId: String read FwikiDataId write FwikiDataId;
end;
{ TCityList }
TCityList = class(TCollection)
private
function GetItems(Index: Integer): TCityItem;
procedure SetItems(Index: Integer; AValue: TCityItem);
public
constructor Create;
function Add: TCityItem;
procedure mORMotLoadFromJson(json: String);
function mORMotSaveToJson: String;
procedure fpLoadFromJson(json: String);
function fpSaveToJson: String;
property Items[Index: Integer]: TCityItem read GetItems write SetItems;
end;
{ TCityList }
function TCityList.GetItems(Index: Integer): TCityItem;
begin
Result := TCityItem(inherited Items[Index]);
end;
procedure TCityList.SetItems(Index: Integer; AValue: TCityItem);
begin
Items[Index].Assign(AValue);
end;
constructor TCityList.Create;
begin
inherited Create(TCityItem);
end;
function TCityList.Add: TCityItem;
begin
Result := inherited Add as TCityItem;
end;
procedure TCityList.mORMotLoadFromJson(json: String);
begin
Clear;
ObjectLoadJson(Self, json);
end;
function TCityList.mORMotSaveToJson: String;
begin
Result := ObjectToJson(Self, []);
end;
procedure TCityList.fpLoadFromJson(json: String);
var
jds: TJSONDestreamer;
begin
Clear;
jds := TJSONDestreamer.Create(nil);
jds.Options := [jdoNullClearsProperty];
jds.JSONToCollection(json, Self);
jds.Free;
end;
function TCityList.fpSaveToJson: String;
var
js: TJSONStreamer;
begin
js := TJSONStreamer.Create(nil);
Result := js.CollectionToJSON(Self);
js.Destroy;
end;
var
dt: TDateTime;
filename, s: String;
citylist: TCityList;
sl: TStringList;
begin
filename := 'cities.json';
sl := TStringList.Create;
sl.LoadFromFile(filename);
citylist := TCityList.Create;
//fp
dt := Now;
citylist.fpLoadFromJson(sl.Text);
WriteLn('fp load from json: ', MillisecondsBetween(Now, dt), 'ms | ', citylist.Count, ' items');
dt := Now;
s := citylist.fpSaveToJson;
WriteLn('fp save to json: ', MillisecondsBetween(Now, dt), 'ms');
//mormot
dt := Now;
citylist.mORMotLoadFromJson(sl.Text);
WriteLn('mORMot load from json: ', MillisecondsBetween(Now, dt), 'ms | ', citylist.Count, ' items');
dt := Now;
s := citylist.mORMotSaveToJson;
WriteLn('mORMot save to json: ', MillisecondsBetween(Now, dt), 'ms ');
//
citylist.Free;
sl.Free;
ReadLn;
end. Grüße / Pozdrawiam
paweld
paweld
-
Andy Nightingale
- Beiträge: 340
- Registriert: Mo 13. Jan 2025, 12:11
Re: Mormot 2 Installation
Hallo 0815,af0815 hat geschrieben: Sa 31. Jan 2026, 08:48 Es steht auch in den ReadMe's das es mit fpc 3.2.2 (stable) nicht geht! Es muss aufgrund eines Bugs im FPC mindestens der Fixes (3.2.3) sein.
Windows ist mir jetzt klar, aber welchen FPC und Lazarus hast du ?
ich habe Lazarus 4.4 und FPC 3.2.2 ich finde keine 3.2.3. das momentane neuste Release ist die 3.2.2 sagt zumidest die FPC Seite: https://www.freepascal.org/download.html
Grüße
- af0815
- Lazarusforum e. V.
- Beiträge: 7108
- 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: Mormot 2 Installation
Wenn man einen anderen FPC braucht, so kann man FPCUpdeluxe für die Installation verwenden. Der Vorteil dabei - der kann auch FPC/Lazarus Versionen parallel installieren. Einzige Einschänkung - immer mit dem Symbol vom Desktop starten, NICHT anders.Andy Nightingale hat geschrieben: Sa 31. Jan 2026, 12:05Hallo 0815,af0815 hat geschrieben: Sa 31. Jan 2026, 08:48 Es steht auch in den ReadMe's das es mit fpc 3.2.2 (stable) nicht geht! Es muss aufgrund eines Bugs im FPC mindestens der Fixes (3.2.3) sein.
Windows ist mir jetzt klar, aber welchen FPC und Lazarus hast du ?
ich habe Lazarus 4.4 und FPC 3.2.2 ich finde keine 3.2.3. das momentane neuste Release ist die 3.2.2 sagt zumidest die FPC Seite: https://www.freepascal.org/download.html
Grüße
https://wiki.lazarus.freepascal.org/fpcupdeluxe
https://github.com/LongDirtyAnimAlf/fpc ... e/releases dort (aktuell) Release v2.4.0h of fpcupdeluxe verwenden, am Ende dieses Beitrags "show all assets" aktivieren und für 64Bit Windows die "fpcupdeluxe-x86_64-win64.exe" downloaden.
Bei WIndows lädt sich fpcupdeluxe alles auch selbst herunten, was er noch braucht. Installtionsverzeichnis DARF keine Leerzeichen oder Sonderzeichen beinhalten (ist keine Einschränkung vom fpcupdeluxe, sondern von FPC/Lazarus, deren Tools manchmal damit Probleme haben).
Einfach Aufrufen, das Verzeichnis auswählen, dann die Versionen was man haben will und (ich mache es so) zuerst den FPC installieren, dann erst den Lazarus.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).