AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Qt/C++: Objektorientierte DLLs und das plattformübergreifend
Thema durchsuchen
Ansicht
Themen-Optionen

Qt/C++: Objektorientierte DLLs und das plattformübergreifend

Ein Thema von EConvertError · begonnen am 5. Feb 2010 · letzter Beitrag vom 10. Feb 2010
Antwort Antwort
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#1

Qt/C++: Objektorientierte DLLs und das plattformübergreifend

  Alt 5. Feb 2010, 20:08
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
Andreas N.
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#2

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 20:15
Hallo EConvertError, sollte doch mit FPC ohne Probleme möglich sein.

http://wiki.freepascal.org/FPC_and_Qt

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#3

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 20:25
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
Andreas N.
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 20:31
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:
http://blogs.embarcadero.com/abauer/2009/05/20/38885

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
Frederik
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 20:35
Konnte man doch schon einmal (clx)
Markus Kinzler
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 20:37
Hi,

Zitat von mkinzler:
Konnte man doch schon einmal (clx)
Richtig, aber wer würde clx heute auskramen für ein neues Projekt? Und das dann sogar produktiv einsetzen...

Gruß,
Assertor
Frederik
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#7

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 5. Feb 2010, 21:58
Zitat von EConvertError:
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++.
Hallo EConvertError, mit C#/Oxygene (Chrome)/WPF oder C++, hast du die gleichen Probleme.
Als einzige Möglichkeit sehe ich ANSI C, sonst gibts irgendwo und irgendwann sowieso Probleme.

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#8

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 8. Feb 2010, 15:56
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
Andreas N.
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#9

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 8. Feb 2010, 22:52
Zitat von EConvertError:
.. ob man mit C++/Qt wirklich so einfach plattformunabhängigen Code schreiben kann. Wichtig .. ist .. 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.

..Qt wird doch als plattformunabh. Lösung angepriesen, warum also werde ich da auf die gleichen Probleme stoßen?
Hallo EConvertError, nicht bei Qt, sondern bei C++, C# entstehen Probleme bei der Plattform unabhängigkeit.
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
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#10

Re: Qt/C++: Objektorientierte DLLs und das plattformübergrei

  Alt 10. Feb 2010, 11:24
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
Andreas N.
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:11 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