![]() |
AW: Delphi vs. Free Pascal
Als ergänzende Strategie für Konvertierungsversuche von delphi gui formularen (gilt auch für wechsel auf neue Delphi
version, die evtl eure erforderlichen komponenten nicht installierbar haben): Man kann einfachen Kram ja direkt in lazarus öffnen und konvertieren, aber das ist eben wirklich selten 100% erfolgreich für reale Projekte mit jahrelanger Geschichte. Meistens sind die pas/dfm ja so aufgebaut, das delphi die komponenten dann zur Entwicklungszeit bereits laden kann und auch nett auf dem bildschirm darstellt, wenn dafür vorgesehen. Wenn man nun die gleiche Kombination in Lazarus direkt lädt, kommt von der lazarus IDE dann genau wie bei einem Delphi, das die ganzen Komponenten auch nicht hat, bei jeder Komponente eine Fehlermeldung. Das kann einen schnell verzweifeln lassen. Daher mit solchen Formularen mal einfach versuchen, den Inhalt der dfm zu konvertieren, bei delphi gab es dafür immer gexperts components2code. Ergebnis ist dann: alles das was du vorher markiert hattest, wird als instanzvariable mit create instanziiert und anschliessend weden alle properties zur laufzeit gesetzt, die normalerweise aus der dfm kommen. danach packst du den code in dein form oncreate event und löscht die gesamten markierte komponenten. das geht oft überraschend gut. Wenn man sein formular schon mal so umgebaut hat, kann es in delphi bei bedarf noch weiterhin benutzt werden, meckert dann aber nur beim compilieren, wenn irgendwelche Klassen gewisse eigenschaften nicht haben oder die ganze Klasse unbekannt ist. Alle komponenten müssen dann gar nicht mehr installiert sein. Ist zwar dann nicht mehr so komfortabel, das im Formular durch anklicken mit dem Objektinspektor zu bearbeiten, aber ganz oft sieht man auch erst dann in dem dadurch entstandenen Code, was da alles mit wem zusammenhängt. Und auch das sind oft ruselige Altlasten, die man gar nicht so mehr auf dem plan hatte. Das damit neu erzeugte formular, was eigentlich keins mehr ist, kann dann oft realtiv leicht mit compiler direktiven angepasst werden, wenn es bei der Zielplattform (egal ob neue delphi Version oder lazarus) die komponente gar nicht in der IDE gibt oder andere Properties und events hat. Und eigentlich komplexe GUI Komponenten, die du nur in alten Versionen in deinem Delphi verfügbar hast, kannst du dann in einer simplen unit ggf selber von was ähnlichem ableiten und dir bei jeder Property noch mal überlegen, ob du das überhaupt weiterhin so haben willst. wie jaenicke schon schrieb, der große Vorteil wäre wenn es eh nicht mehr alles vermischt in form/pas/dfm befindet, aber die realität von vielen Projekten ist nun mal anders. Den o.a. erzeugten Code, der das formular ohne dfm erstellt, kannst du dann aber schon mal als basis in eine andere Unit packen. Und das ist dann wesentlich einfacher lauffähig zu machen, als wenn du erst mal versuchst, sämtliche von dir benutzten Komponeten in passender version in die Ziel IDE zu bringen, insbesondere wenn es den Komponentenhersteller gar nicht mehr gibt oder der die Sachen in neuen Versionen so umgebaut hat, das die eh nicht mehr kompatibel wäre. Viele Komponenten haben einen riesen overhead für visuelle Delphi IDE Integration, würden aber zur Laufzeit erzeugt auch so benutzbar direkt aus der Unit sein, auch wenn es in der IDE gar nicht mehr installierbar ist. Ein projekt so in der Art umzubauen ist zwar immer noch keine 5 minuten klick job, aber deutlich effektiver, als zu versuchen, alte fremdkomponenten in neuer IDE version installierbar zu machen, egal ob delphi oder lazarus. In Lazarus gibt es dafür auch mitgelieferte units, auf deren basis man das ähnlich wie in gexperts selber bauen könnte ./components/lazutils/compwriterpas.pas This writes the .dfm as a routine that can be called to create the form with the .dfm properties. See examples/pascalstream/ |
AW: Delphi vs. Free Pascal
Ich habe FPC und Lazarus auch schon mal "getestet", konnte mich aber mit der IDE von Lazarus nicht so recht anfreunden.
Eventuell liegt es daran, das ich seit Boland-Pascal mit Borland / Embarcadero Compilern bastel... Ok, das Goldeselprinzip mit den hohen Gebühren finde ich auch nicht so toll, aber Entwicklung kostet eben Zeit und damit Geld. Bei den Free-Pascal Geschichten kostet es auch Zeit, dann aber eben Freizeit... Die Entwickler bei Embarcadero müssen aber davon irgendwie ihr Leben finanzieren :-) Also jeder wie er es mag und kann... |
AW: Delphi vs. Free Pascal
Zitat:
Allerdings verliert man damit auch einen Großteil der Bequemlichkeit, die die Softwareentwickung mit Delphi / Lazarus (Visual Basic) so schnell und beliebt macht. Ich bin zu Delphi gekommen, weil ich die Bequemlichkeit des visuellen Designers (damals Visual Basic 3) mit einer mächtigeren Programmiersprache kombinieren wollte. Und ich bin über die Jahre dabei geblieben, weil es dadurch ziemlich gut alle meine Anforderungen (und meine Faulheit) abgedeckt hat. Wenn ich den Designer aber aufgeben muss, kann ich auch gleich zu irgendeiner weiter verbreiteten Sprache wechseln, wo man die GUI per Code erzeugen muss. |
AW: Delphi vs. Free Pascal
Zitat:
![]() |
AW: Delphi vs. Free Pascal
Zitat:
|
AW: Delphi vs. Free Pascal
Komponenten per Code, aber nur, wenn es auch eine automatische Ausrichtung gibt,
sonst wirst'e doch bei späteren Änderungen irre. |
AW: Delphi vs. Free Pascal
Eine ganz dumme Frage: Kann ich meinen Code (nicht die grafischen Formulare) in einem FreePascal-Projekt auch mit einer IDE wie VS Code schreiben und evtl. auch debuggen?
(Habe FreePascal noch nie angefasst) |
AW: Delphi vs. Free Pascal
Zitat:
Es gibt für VSCode einige Pascal Extensions wie OmniPascal usw. Bei Youtube nach vscode und lazarus oder pascal suchen. Da gab es einige Videos zu. |
AW: Delphi vs. Free Pascal
Ich bin doch etwas überrascht, wieviele Delphianer ähnlich wie ich Lazarus/FPC parallel nutzen bzw. immer etwas im Auge behalten.
Beruflich ist bei mir Delphi angesagt und wird es wohl auch noch die letzten Jahre bleiben. Bei den jungen Kollegen sehe ich, daß Delphi/Pascal scheinbar ausgedient hat. Die sind ziemlich auf dem Python-Trip bzw. Go und Rust habe ich auch schon gesehen. Und möglichst alles soll "Web" sein. Die Jungschen streuben sich bei Delphi ziemlich. Wat de Buer nich kennt, dat frett he nich. Ich habe eben mal nachgesehen: Ich müßte so um 2005 oder wenig später das erste mal Lazarus ausprobiert haben. Wenn ich dann sehe, was die Jahre alles dazugekommen ist, dann ist das schon der Hammer. FPCDeluxe oder der OPM (Online Package Manager) sind eine feine Sache. Was ich immer im Hinterkopp habe ist die Tatsache, daß Lazarus auch auf Linux läuft. Seit Jahren schiebe ich den Schritt vor mir her, privat von Windows auf Linux umzusteigen. Ich denke, spätestens mit Ende meines Jobs werde ich das in Angriff nehmen. Und wenn man dann eine IDE mit Pascal für lau zur Verfügung hat, wäre ich fast wunschlos glücklich.:lol: Ich verfolge auch das deutsche Lazarus-Forum, früher auch noch das englisch-sprachige. Da tummeln sich überall viele hilfsbereite Leute. |
AW: Delphi vs. Free Pascal
Zitat:
Turbo-Delphi Explorer (2006/2007) Delphi Starter (ab XE) AppMethod (bloß kein "Delphi" im Namen oder sonstirgendwo auf der Webseite erwähnt) (Delphi 10.0) Community Edition (seit Delphi 10.3) ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 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