![]() |
Qt/C++: Objektorientierte DLLs und das plattformübergreifend
Hallo!
Habe wieder eine Frage, die sich auf C++ mit Qt bezieht - ich hoffe, ihr könnt mir dennoch helfen. Ich möchte einige Klassen (von QObject abgeleitet) in externe Bibliotheken auslagern und diese dann in versch. Programmen verwenden. Das Ganze soll noch plattformübergreifend sein (also kein COM, soll auch auf Linux/Mac laufen), da sonst der Vorteil von Qt verloren geht. Der Grund, weshalb ich das hier in einem Delphi-Forum frage: Sollte es nicht (ohne weiteres) möglich sein, wird das Projekt in Delphi ausgeführt, da ich dann auf die Plattformunabhängigkeit verzichte. Vielen Dank, Andreas |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Hallo EConvertError, sollte doch mit FPC ohne Probleme möglich sein. :gruebel:
![]() lg. Astat |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Vielen Dank für deine Antwort!
Das steht aus verschieden Gründen nicht zur Diskussion. Das Projekt wird entweder in C#/Oxygene (Chrome)/WPF realisiert, oder in C++. Daher ist für mich entscheidend, wie ich gemeinsame Klassen in C++/Qt für mehrere Programme anbieten kann. Das ist selbstverständlich nicht der einzige Aspekt bei der Entscheidung... lg, Andreas |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Hi EConvertError,
wenn Du den Projektmanager überzeugen kannst: Geduld haben, vielleicht kann man statt C++/QT irgenwann Delphi für Cross-Compilation nutzen... Laut Allen Bauer ist da ja seit Mitte 2009 was in der Pipeline: ![]() Natürlich kann man noch nicht sagen, ob und wann da was nutzbares bei rauskommt - aber klingt imo doch interessant... Gruß, Assertor Edits: Typos und Gestammel korrigiert ;) |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Konnte man doch schon einmal (clx)
|
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Hi,
Zitat:
Gruß, Assertor |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Zitat:
Als einzige Möglichkeit sehe ich ANSI C, sonst gibts irgendwo und irgendwann sowieso Probleme. lg. Astat |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Hallo!
Cross-Compilation und Delphi für Win32 kommt auf keinen Fall in Frage. Wenn man sich ansieht, wie lange schon ein 64-bit-Compiler versprochen wird, weiß man warum. Das Programm soll auf einer soliden und zukunftsträchtigen Architektur aufbauen und daher stehen C++/Qt oder Oxygene/C#/WPF zur Diskussion. Wir fragen uns allerdings, ob man mit C++/Qt wirklich so einfach plattformunabhängigen Code schreiben kann. Wichtig unter anderem ist die Frage, ob man objektorientierte DLLs/shared libraries verwenden kann... Gerade wenn man dazu COM oder sowas verwenden müsste, hätten wir keine Plattformunabhängigkeit mehr. Es wird im übrigen ein wissenschaftliches Projekt, wichtig ist "Scientific Computing", Graphikprogrammierung (vorerst 2D, später auch 3D). Daher würde mich eine genauere Erläuterung deiner Antwort interessieren, Astat. Qt wird doch als plattformunabh. Lösung angepriesen, warum also werde ich da auf die gleichen Probleme stoßen? Danke, Andreas |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Zitat:
C++ Objekte können nicht ohne weiteres in anderen Sprachen verwendet werden. Auch gibt es unterschiedliche C++ Dialekte. Desshalb meinte ich, dass alle öffentlichen Schnittstellen ANSI-C sein sollten. Selbst Qt-Programmierung hat eigentlich nichts mehr mit C++ zu tun, da die gesammte Implementation auf C-Makros aufgebaut ist. Da entstehen zwangsläufig Problemem im Namespaces, auch sind diese nicht typsicher. Also wenn es um Platform unabhängigkeit geht, dann "Innen" Qt aussen "ANSI-C" In welcher Sprache dann die Qt- Container sind, ist dann Nebensache. lg. Astat |
Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei
Ich möchte anmerken, dass die Anforderung an öffentliche Schnittstellen nicht ist, dass JEDER in JEDER Sprache darauf zugreifen kann. Ich würde ohnehin nur Qt mit C++ verwenden.
Aber ich verstehe das Problem und danke für die Hilfe! lg, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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