![]() |
Lazarus Carbon-Interface: !Test!
Hallo DP!
Ich finde die Idee, mit Lazarus eine Art "plattformübergreifendes Delphi" zu schaffen einfach genial. Deshalb setze ich mich schon seit einiger Zeit mit Lazarus auf verschiedenen Systemen (Ubuntu Linux, SuSe Linux, MacOS-X, Windows) auseinander. Für ein (sehr) kleines Projekt benötigte ich vor kurzem eine MacOs-Carbon-Anwendung. Da die Entwicklung mit FreePascal und XCode sehr schlecht dokumentiert ist und GUI- Erstellung mit Java eine Katastrophe ist, die am Ende sowieso nicht läuft, bin ich wieder bei Lazarus gelandet. (Nach einer Woche (!) ist es mir dann gelungen mein Projekt zu kompilieren und zu starten. Damit auch andere schnell und einfach einen Blick auf Lazarus' Carbon- Oberfläche werfen können, ohne erst X11, Fink, FPC und FPCSrc zu installieren, veröffentliche ich hier ein Bundle, das (fast) alles für einen Test des Carbon-Lazarus enthält.) <= Seit dem ich das geschrieben habe ist ca. 1 monat vergangen und es hat sich viel getan. Deshalb ist die folgende Anleitung auch überarbeitet. --- {Ich habe dieses Thema jetzt unter "OpenSource" abgelegt, weil mir nichts besseres einfiel. Sollte dieses Thema nicht hier hin gehören, bitte ich einen Moderator, es zu verschieben.} ------------------- /!\ACHTUNG: Die Carbon Oberfläche ist noch nicht ganz bugfrei. Dieses Bundle dient nur zu Testzwecken! (Das Packet enthält nur die Version für Intel-Macs und ist auf PowerPCs nicht lauffähig.) ------------------- Wer Lust hat, mal einen Blick auf dieses Lazarus zu werfen, der sollte den Anweisungen unten folgen: 1. XCode herunterladen und installieren Lade XCode von ![]() (XCode wird zum kompilieren benötigt) ![]() 2. Lazarus Bundle herunterladen Lade das Lazarus Bundle für Intel-Macs über den Download-Link unten herunter. Öffne das Disk-Image und ziehe die Datei "Lazarus.app" in den Ordner "Anwendungen". 3. FPC Snapshot installieren Lade den Freepascal-Snapshot von ![]() 3. Variablen prüfen Öffne ein neues Bash- Terminal und tippe folgendes ein:
Code:
Tippe 3 Zeilen mit folgendem Inhalt ein, wobei <path-to-lazarus> mit dem Pfad zum Lazarus-Bundle ersetzt werden muss:
sudo nano /etc/fpc.cfg
Code:
Das sollte dann so aussehen:
-Fu<path-to-lazarus-dir>/Lazarus.app/Contents/MacOS/fpc/lib/fpc/2.1.5/units/$fpctarget
-Fu<path-to-lazarus-dir>/Lazarus.app/Contents/MacOS/fpc/lib/fpc/2.1.5/units/$fpctarget/* -Fu<path-to-lazarus-dir>/Lazarus.app/Contents/MacOS/fpc/lib/fpc/2.1.5/units/$fpctarget/rtl ![]() Nun drücke CTL+O und bestätige das Speichern mit Return. Drücke dann die Tastenkombination CTL+X und schließe das Terminal wieder. <= Diese Schritte sind nicht mehr nötig! - Starte Lazarus.app: ![]() Wähle "Enviroment=>Enviroment Options": ![]() Setze die Pfade so, wie auf dem Screenshot gezeigt. (Wenn Lazarus.app nicht unter "Anwendungen" liegt, ersetze /Applications/ durch den richtigen Pfad. 4. Projekt kompilieren Um ein Projekt mit Carbon-Oberfläche zu kompilieren, öffne ein fertiges Projekt (oder erstelle ein neues) und navigiere über "Project -> Compiler Options" zu "Linking". Setze die Checkbox "Pass Options To The Linker (delimiter is space)" und tippe im feld darunter folgendes ein:
Code:
Speichere die Einstellungen. Das Projekt sollte sich jetzt kompilieren lassen.
-framework carbon
Tipp: Um Application Bundles zu erzeugen, lade die MacOS-Anwendung "createmacapp"((c) Mattias Gärtner) herunter. öffne ein Terminal und gebe folgendes ein:
Code:
In der ersten Zeile muss der Ordner angegeben werden, in dem die Anwendung liegt.
cd /<macapppath>
./createmacapplication /Users/<yourUserName>/lazprojects/project1 /Users/<yourUserName>/lazprojects/project1 steht für den Pfad zur importierenden Binärdatei. (project1 ist die Binary des Projektes) 5. Fertig! Nun sollte man Projekte mit der Carbon-Oberfläche kompilieren können. Allerdings sollte diese Technik noch AUF KEINEN FALL für umfangreichere Projekte verwendet werden, da noch enorm viele Bugs in diesem Lazarus (und den damit erstellten Anwendungen) enthalten sein können. ----------------------------------------- ![]() ----------------------------------------- ![]() ------------------ Nützliche Links: ![]() ![]() ![]() ![]() |
Re: Lazarus Carbon-Interface: !Test!
In wieweit ist das ganze jetzt funktionabel? Ich meine mich erinnern zu können das du erwähnt hast, dass der Formular-Designer nicht funktioniert. Außerdem wäre es interessant zu wissen wie es mit localisationen aussieht.
Werde mir das Teil allerdings morgen mal ansehen, scheint ja ganz interessant zu sein (wobei ich mit GTK-Lazarus und Carbon-Programmen eigentlich auch einverstanden wäre, aber native Umgebung ist natürlich VIEL besser). edit: Oh weder Form-Designer noch den Source-Editor?! Dann wäre es ja praktisch nutzlos... (außer zum reinen recompilen von Win/Linux-Lazarus-Projekten). |
Re: Lazarus Carbon-Interface: !Test!
Naja... Ich habe deshalb das Programm unter Windows erstellt und hinteher kleinere Bearbeitungen mit Apples TextEdit vorgenommen. So geht das hervorragend! Aber leider lässt sich der Text wirklich nicht direkt im Editor eintippen, da, laut Roadmap, TSysnEdit noch nicht richtig implementiert ist.
(Fertige Projekte lassen sich, mit Formular, laden und kompilieren) |
Re: Lazarus Carbon-Interface: !Test!
Schönes ding, wenn ich auch der meinung bin das man das Carbon interface in diesem Stadium noch nicht unbedingt so publizieren sollte, aber schön. Stellst du deine scripte zum bauen des Installers als patch zur verfügung ?
|
Re: Lazarus Carbon-Interface: !Test!
Zitat:
Ich veröffentliche die Scripte und schreibe eine Anleitung dazu, wenn die neue Lazarus-Version rausgekommen ist. (0.9.23) ---- Info: Da das DMG-Diskimage beim Upload immer zerschossen wurde, stelle ich das Bundle jetzt in einem ZIP-Archiv auf den Server. |
Re: Lazarus Carbon-Interface: !Test!
Hurra!
Ein Hoch auf die Lazarus-Entwickler! Ich habe vor kurzem, weil ich Zeit hatte, Lazarus nochmal für MacOS Carbon mit dem neuesten Quellcode kompiliert: Das hat ca. 45 Minuten gedauert, war wesentlich einfacher und das Ergebnis ist SUPER!
Wenn die Lazarus-Leute so weitermachen, dann ist Lazarus bald eine echt ernstzunehmende Alternative zum Original-Delphi! :bouncing4: |
Re: Lazarus Carbon-Interface: !Test!
Naja so meint ich das nicht, die Installer Packages werden beim Lazarus mit Scripten automatisch generiert. So werden dann z.b. die Snapshots täglich über nen Chron Job generiert. Zumindest der Teil den du schon als Script hast könnte ja behilflich sein ein komplettes Installer script zu baun...
Hoff es findet sich bald mal jemand der ein Script für nen Installer mit Carbon intf baut. Für GTK existieren sie ja schon ... |
Re: Lazarus Carbon-Interface: !Test!
Also: Die IDE mit Carbon zu kompilieren ist jetzt wirklich so einfach geworden, dass die Scripte, die ich dafür gebaut habe, sinnlos sind oder nichts bringen. Würde dir die Terminal-Anwendung reichen, mit der ich das Lazarus-Bundle erstelle?
P.S.: Ein komplettes Installer-Script? Da könnte es Probleme mit dem FreePascalCompiler und Lazarus geben, da sich dieser nicht so einfach in Lazarus integrieren lässt. (Es gibt Probleme mit den Pfaden, ich habe deshalb auch den FPC aus dem neuen Bundle herausgenommen) Aber so ein Script wäre echt praktisch, vor allem, wenn Binaries für PowerPC und IntelMacs erzeugt werden könnten! (vielleicht könnte ich so auch meinen Info-Lehrer von Lazarus überzeugen :drunken: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz