Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Lazarus Carbon-Interface: !Test! (https://www.delphipraxis.net/98532-lazarus-carbon-interface-test.html)

argonix 28. Aug 2007 18:45


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 [1] nach einer kurzen Registrierung herunter und installiere das komplette Packet.
(XCode wird zum kompilieren benötigt)
http://www.tenstral.de/images/storie...inst-xcode.png
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 [2] herunter und installiere ihn.
3. Variablen prüfen
Öffne ein neues Bash- Terminal und tippe folgendes ein:

Code:
sudo nano /etc/fpc.cfg
Tippe 3 Zeilen mit folgendem Inhalt ein, wobei <path-to-lazarus> mit dem Pfad zum Lazarus-Bundle ersetzt werden muss:
Code:
-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
Das sollte dann so aussehen:
http://www.tenstral.de/images/storie...o-term-fpc.png
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:
http://www.tenstral.de/images/stories/lazmac/lazmac.png
Wähle "Enviroment=>Enviroment Options":
http://www.tenstral.de/images/storie...z-envpaths.png
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:
-framework carbon
Speichere die Einstellungen. Das Projekt sollte sich jetzt kompilieren lassen.
Tipp:
Um Application Bundles zu erzeugen, lade die MacOS-Anwendung "createmacapp"((c) Mattias Gärtner) herunter. öffne ein Terminal und gebe folgendes ein:
Code:
cd /<macapppath>
./createmacapplication /Users/<yourUserName>/lazprojects/project1
In der ersten Zeile muss der Ordner angegeben werden, in dem die Anwendung liegt.
/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.
-----------------------------------------
Direkt Download (ca. 74 MB bei ~280 KB/s , DMG-Image)
-----------------------------------------
Download CreateMacApplication
------------------
Nützliche Links:
Lazarus OS-X Programming Tips => Tipps zur Entwicklung mit Lazarus unter MacOS-X
Lazarus Roadmap => Detailierte Roadmap des Lazarus Projektes
Delphi-Entwicklung unter MacOS-X => Ein hervorragendes Tutorial von CalganX zum Thema "Entwicklung mit "Delphi" unter MacOS"
Delphi MacOS Petitions => Hier kann man sich als Interessent an einem Delphi für MacOS eintragen. Die Liste wird an Borland/CodeGear übermittelt.

WordsBG 28. Aug 2007 20:00

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).

argonix 28. Aug 2007 20:07

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)

christian_u 28. Aug 2007 20:17

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 ?

argonix 29. Aug 2007 15:00

Re: Lazarus Carbon-Interface: !Test!
 
Zitat:

Zitat von christian_u
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 ?

Ich erstelle am besten eine Anwendung, die die Bundles automatisch aus den Packeten erstellt. Allerdings weis ich noch nicht, ob das funktioniert (vor allem unter MacOS!). Ich habe für die erstellung nur wenige (genau: 3) Scripte erstellt, der Rest war Handarbeit.
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.

argonix 4. Okt 2007 15:20

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!
  • Der Form-Editor funktioniert!
  • Der Quelltext-Editor funktioniert auch!
  • Kaum noch Zugriffsverletzungen (Ich habe 2 gefunden)
Ich habe die Anleitung oben verändert und das fertige "Kompilat" hochgeladen. Die Screenshots sind ebenfalls neu.
Wenn die Lazarus-Leute so weitermachen, dann ist Lazarus bald eine echt ernstzunehmende Alternative zum Original-Delphi! :bouncing4:

christian_u 4. Okt 2007 17:09

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 ...

argonix 16. Okt 2007 19:29

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 18:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz