AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey-Desaster

Ein Thema von Insider2004 · begonnen am 14. Mai 2012 · letzter Beitrag vom 16. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Insider2004
(Gast)

n/a Beiträge
 
#1

Firemonkey-Desaster

  Alt 14. Mai 2012, 19:13
Wie fast jeder bereits bemerkt hat, ist das FMX-Interface nicht kompatibel zum VCL-Interface. D.h. VCL-Programme können nicht in FMX verwendet werden. Begründet wird dies von EMBA-Seite damit, dass das VCL zu stark an die Win-API gebunden ist und der ganze Code nicht portierbar ist.

Blöde Frage: Warum schafft es Lazarus, ein einheitliches Interface anzubieten? Programme sind fast ohne Änderungen auf allen Plattformen lauffähig. Stattdessen werden bei EMBA wieder 2 verschieden Frameworks entwickelt und gepflegt, die nichts miteinander gemein haben.

Geändert von Insider2004 (14. Mai 2012 um 19:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 19:34
Was soll diese absolut negative aussage wieder.

Sehr wohl kann man VCL und FMX (in gewissen Grenzen) miteinander mixen. Selbst auf einem Formular ist (soll) das möglich (http://stackoverflow.com/questions/7...cl-application) sein.

Jedoch wird das von Embaracadero nicht offiziell unterstützt. Und mit der Aussage der Platformabhänigkeit haben sie voll recht. Mit der VCL.NET haben sie ja schon mal Schiffbruch erlitten. Schau dir mal die (nicht Lazarus-Kompatiblen) Komposammlungen so an wie stark diese Teilweise auf die Win32-API aufsetzen. So wäre ein "portable" VCL mit sehr großen Umbauarbeiten/Hacks in vielen Komponenten verbunden die man bei einer strikten Portablen Ansatz nicht hat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#3

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 19:37
Ich rede nur vom Interface.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 20:35
Was genau meinst du in diesem Fall mit Interface.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#5

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 20:41
Wie fast jeder bereits bemerkt hat, ist das FMX-Interface nicht kompatibel zum VCL-Interface. D.h. VCL-Programme können nicht in FMX verwendet werden. Begründet wird dies von EMBA-Seite damit, dass das VCL zu stark an die Win-API gebunden ist und der ganze Code nicht portierbar ist.

Blöde Frage: Warum schafft es Lazarus, ein einheitliches Interface anzubieten? Programme sind fast ohne Änderungen auf allen Plattformen lauffähig. Stattdessen werden bei EMBA wieder 2 verschieden Frameworks entwickelt und gepflegt, die nichts miteinander gemein haben.
Schluss mit der Schönmalerei von Lazarus. Dann baut das endlich so, das der Code wirklich völlig ohne eine einzige Änderung sowohl von DElphi als auch von Lazarus ohne auch nur eine Einzige Inkompatibilität übersetzt wird. Ich musste nämlich bei derartigen Portierungsversuchen komplett andere ERfahrungen machen. Hab mich dazu auch schon im Thread "Einfache Freepascal IDE" und wohl auch bei "Erfahrungen mit Lazarus" zur Genüge geäußert. Hier hilft wohl am ehesten die Veröffentlichung der Kompletten Compilergrammatik, fertig für Compilergeneratoren als Eingabedatei, wie sich das für Open Source auch ziemen würde. Dann könnten andere mit einem per lex und yacc erstellten Parser einen Workaroud bauen.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 21:34
Die VCL einerseits und FireMonkey andererseits haben grundverschiedene Ansätze. Die VCL wurde für die Windows-API entwickelt und macht intensiven Gebrauch von ihr. Das geht bei den Handles los und hört bei der Nachrichtenverarbeiung noch lang nicht auf. FireMonkey hingegen wurde konstruiert, um möglichst wenig Infrastruktur voraus zu setzen und bei Bedarf auch ohne Handles und Messages auszukommen. Klar, dass die Interfaces da ein gutes Stück weit auseinander gehen. Wobei die RTL recht schön zeigt, wie man den gleichen Code über mehrere Plattformen erstrecken kann. Hier jetzt auf Krampf Brücken schaffen zu wollen, die da eigentlich nicht hingehören, würde alle Seiten ausbremsen und am Ende dennoch ein irgendwie unbefriedigendes Ergebnis darstellen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firemonkey-Desaster

  Alt 14. Mai 2012, 22:35
Schluss mit der Schönmalerei von Lazarus. Dann baut das endlich so, das der Code wirklich völlig ohne eine einzige Änderung sowohl von DElphi als auch von Lazarus ohne auch nur eine Einzige Inkompatibilität übersetzt wird.
Ach, das wäre mir egal, mir würde es schon reichen, wenn Lazarus an sich ein ordentliches Konzept hätte (Komponenten einfach installieren und deinstallieren ohne das Gehampel mit dem Kompilieren von Lazarus selbst, ...), ordentlich funktionieren würde (ich sag nur Daemon Problem, ein Jahr schon war nen Fix da, aber nicht in der aktuellen Version drin... und ich such ewig wo das Problem ist... wie soll man auch drauf kommen, dass man irgendeine Unit manuell ins Projekt aufnehmen muss, weil diese beim Laden irgendwas Essentielles macht...) und ne ordentliche IDE hätte (zugegeben besser als Delphi 5 und früher, aber mehr auch nicht...).

Jedenfalls halte ich rein gar nix davon auf Teufel komm raus alles für alle Plattformen gleich zu machen. Der kleinste gemeinsame Nenner ist nicht immer die beste Lösung.
Zumal man ja beim Vergleich der Lazarus-Units sieht, dass diverse Funktionen schlicht nicht für alle Plattformen implementiert sind...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: Firemonkey-Desaster

  Alt 15. Mai 2012, 00:02
Insider, du missachtest einfach mal komplett die unterschiedlichen Zielsetzungen von Lazarus und VCL in der Entstehungsphase, die das grundlegende Design bis heute prägen. Wenn du so einfach portieren willst, nimm halt einfach Java, und fahre dein konstantes - meist ziemlich unbegründetes - Gebashejammer hier ein wenig runter. Emba kann nichts dafür, wenn du für deine Anforderungen das falsche Werkzeug wählst.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (15. Mai 2012 um 00:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Firemonkey-Desaster

  Alt 15. Mai 2012, 11:37
Wie fast jeder bereits bemerkt hat, ist das FMX-Interface nicht kompatibel zum VCL-Interface. D.h. VCL-Programme können nicht in FMX verwendet werden. Begründet wird dies von EMBA-Seite damit, dass das VCL zu stark an die Win-API gebunden ist und der ganze Code nicht portierbar ist.

Blöde Frage: Warum schafft es Lazarus, ein einheitliches Interface anzubieten? Programme sind fast ohne Änderungen auf allen Plattformen lauffähig. Stattdessen werden bei EMBA wieder 2 verschieden Frameworks entwickelt und gepflegt, die nichts miteinander gemein haben.
Schluss mit der Schönmalerei von Lazarus. Dann baut das endlich so, das der Code wirklich völlig ohne eine einzige Änderung sowohl von DElphi als auch von Lazarus ohne auch nur eine Einzige Inkompatibilität übersetzt wird. Ich musste nämlich bei derartigen Portierungsversuchen komplett andere ERfahrungen machen. Hab mich dazu auch schon im Thread "Einfache Freepascal IDE" und wohl auch bei "Erfahrungen mit Lazarus" zur Genüge geäußert. Hier hilft wohl am ehesten die Veröffentlichung der Kompletten Compilergrammatik, fertig für Compilergeneratoren als Eingabedatei, wie sich das für Open Source auch ziemen würde. Dann könnten andere mit einem per lex und yacc erstellten Parser einen Workaroud bauen.
Ein Compiler besteht nicht nur aus der Syntax, sondern auch aus der Semantik. Und die kannst du mit einer Grammatik nicht abbilden.

Ganz davon abgesehen sind Free Pascal und Delphi nicht eins zu eins kompatibel und werden es wohl auch nie sein (Stichwort: "moving target"). Zudem werden manche Details von Free Pascal anders implementiert als von Delphi (sogenannte Implementierungsdetails, auf welche Programmier eigentlich nicht aufbauen sollten, es manchmal aber doch tun...). So werden Interfaces in Delphi zu anderem Zeitpunkt freigegeben als in FPC. Oder "helper types" sind in FPC als eigener first class type implementiert, während sie in Delphi intern als Klassen, die von TClassHelperBase ableiten, implementiert sind.

Ich persönlich sage nicht, dass es vollkommen trivial ist Code unter Delphi und FPC parallel zu verwenden. Insider2004 wollte allerdings wohl darauf hinaus, dass man reinen FPC/Lazarus-Code relativ leicht auf unterschiedlichen Plattformen zum Laufen bringen kann.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Firemonkey-Desaster

  Alt 15. Mai 2012, 11:42
Hi,

Ich persönlich sage nicht, dass es vollkommen trivial ist Code unter Delphi und FPC parallel zu verwenden. Insider2004 wollte allerdings wohl darauf hinaus, dass man reinen FPC/Lazarus-Code relativ leicht auf unterschiedlichen Plattformen zum Laufen bringen kann.
FPC/Lazarus sind aber genau zu dem Zweck geschaffen worden, Delphi und die VCL sind dagegen für die Windows API geschaffen worden. Jetzt zu meckern, dass die VCL nicht plattformunabhängig ist, finde ich unangebracht. Mit CLX und VCL.NET wurden schon Versuche unternommen die VCL auch für andere Plattformen bereit zu stellen und jedes mal ist man gescheitert. Eigentlich sollten wir (trotz des damit verbundenen Mehraufwands) froh sein, dass man bei Emba endlich aus alten Fehlern lernt...

Ob Firemonkey der richtige Weg ist, wird sich in einigen Jahren zeigen....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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