![]() |
vcl zu clx
hallo,
ich habe gerade ein projekt in delphi fertiggestellt, allerdings mit vcl. nun wurde angefragt, ob ich das nicht auch mit für linux machen könnte. würde ich gerne. ich benutze unter anderem indy, jcl/jvcl, toolbar2000, ... gibt es nun einen einfachen weg, von vcl zu clx zu konvertieren, reicht aus, wenn ich einfach ein Q davorschreibe, oder muss ich komplett neu anfangen? ich möchte es dann in kylix bearbeiten und compilieren ... danke schonmal im foraus ... mfg, eyeless |
Re: vcl zu clx
Vergiss CLX. Ist von Borland eh auf Eis gelegt worden. Und ist auch nicht gerade einfach es zum laufen zu bekommen.
Du kannst aber dein VCL-Programm auch unter Linux zum laufen bekommen, wennst Du ![]() |
Re: vcl zu clx
ich habe wine und es funzt auch, nur ist alles toatal verschoben und krumm
|
Re: vcl zu clx
Zitat:
Zitat:
[edit=alcaeus]Zitat repariert. Mfg, alcaeus[/edit] |
Re: vcl zu clx
Zitat:
Und mit .NET ist die portablität eh viel höher, da z.B. das Mono-Projekt ziemlich aktiv ist. Und damit steht dir dann auch die Welt von MacOS offen. Zitat:
Und würde es auch mit aktuellen Kernel-Versionen auch noch laufen? [edit=alcaeus]Zitat repariert. Mfg, alcaeus[/edit] |
Re: vcl zu clx
Zitat:
Ich dachte auch mal: "Toll, jetzt kann ich die eine oder andere Anwendung portieren", aber daraus ist nichts geworden weil der Aufwand zu groß ist. Und es gibt keinen Grund unter Linux Kylix einzusetzen, wenn man nicht seine "alten" Windows Projekte portieren kann... |
Re: vcl zu clx
clx kann man IMHO Vergessen, entweder .NET oder SDL, oder SDL.NET( Gibts glaube ich auch ).
|
Re: vcl zu clx
@FriFra
So ein Blödsinn. Sie hätten es mit ihren paar Männeln nie geschafft die VCL komplett auf QT aufbauend hinzubekommen. CLX ist etwas anders ja, aber es hat zum Beispiel unicode support. Es war also gar nicht mal so dumm 2 ähnliche Frameworks zu haben, als ewig an einer QT VCL zu arbeiten. Was übrigens ein Reinfall geworden wäre, denn Kylix war ein Reinfall. Kylix Compiler dürfte mit den neuen Kernel von Linux auch nicht mehr zurechtkommen. JBG weiß da sicher mehr? Einfach mal in die Borland NGs schauen. Da gibt es täglich mindestens einen, der Kylix nachheult und 10 die auf ihm rumhacken... |
Re: vcl zu clx
Zitat:
Zitat:
|
Re: vcl zu clx
Zitat:
Was Borland im Moment für Probleme hat mit Delphi ist ja denke ich bekannt! |
Re: vcl zu clx
Darf ich mal um etwas
![]() Zitat:
Zitat:
Zitat:
Zitat:
Eine Portierung von reiner VCL nach CLX ist an sich nicht großartig kompliziert. Theoretisch reicht es, vor die VCL-(nicht RTL- ;-))Units ein Q zu schreiben. Es sollten nur wenige Teile der Interfaces unterschiedlich sein. Kompliziert wird es eher bei den etwas tiefergehenden dingen, zum Beispiel Workarounds für VCL-Unzulänglichkeiten, alles was mit der API zu tun hat, Internet, sofern nicht Linux von den Indies unterstützt wird, und alles, was Windows-spezifisch ist (Komponentne für Tray-Icons, Features der Common Controls 6.0, sonstiger Kleinkram). Das wird schwierig (zu Fuß, nicht über Komponenten) bis unmöglich (einige Dinge gibt es unter Linux in der Form nicht). |
Re: vcl zu clx
Zitat:
Der bc++ Compiler macht bei neueren Distributionen Probleme, weil er Header-Dateien vom gcc nutzt. Und der hat sich Grundlegend geändert. Das bekommt man aber auch in den Griff, indem man einen alten Satz Header-Dateien vom gcc 2.95 einspielt. Und dem Problem, dass der Debugger ab Kernel 2.6.11 nicht mehr geht, bin ich bereits auf der Spur. Beim 2.6.10 geht er nämlich noch. Dummerweise sind da 22 MB Patches dazwischen, die ich gerade auf 2 MB gedrückt habe (nicht i386-Platformen, Treiber, IPv6 usw. haben sicher nichts mit dem Problem zu tun). Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Mono ist unter Linux immernoch nicht wirklich gern gesehen. Die sind eben auf ihre naivität (nativität) Versessen. Zitat:
Und warum sollte der Compiler und die Libc-Portierung dafür nicht zu gebrauchen sein? Begründe das bitte, da es mich interessieren würde. |
Re: vcl zu clx
Moin,
was haltet ihr von ![]() Also ich finde es einfach nur genial, unter Windows CLX-Anwendungen zuschreiben/debuggen eine EXE zu erhalten und auch gleich die Linux-Anwendung compilieren zu können. ich finde es schade, dass das Kylix-Projekt von Borland nicht weiterverfolgt wird. ...und jetzt bitte auf mir rumhacken... MfG Thorsten |
Re: vcl zu clx
Zitat:
|
Re: vcl zu clx
Zitat:
Aber ich zweifle immer noch daran, dass eine reine Portierung der VCL sinnvoll gewesen wäre. (Wäre wohl in zuviel "Wrapperei" VCL->BastelBastel->QT geendet...) btw: CLX und Kylix wären eigentlich nur der Anfang gewesen. Hätte sich Kylix ordentlich verkauft wären auch andere Plattformen unterstützt worden. (Habe ich zumindest mal irgendwo von einem Borländer gelesen, oder war's nur einer vom TeamB? :gruebel: ) Sie haben aber anscheinend direkt danach den nächsten Wrapper gebaut -> VCL.Net. ;) Aber eigentlich interessiert mich das nicht die Bohne. :mrgreen: Mich hat nur FriFras Rumgepupe aufgeregt... |
Re: vcl zu clx
Hallo Ihr Streithähne!
Zitat:
Hab nämlich grad ein Projekt in Arbeit, das Toolbar2000 verwendet. Unter VCL. Und die Delphi Toolbar Komponenten sind in der CLX nicht so komfortabel im Funktionsumfang, wie die VCL Pendants. Habe selber schon versucht mit CLX Floating Toolbars zu programmieren. Spätestens beim Menü ist da scluss mit lustig. Unter VCL dagegen kein Problem. Meine Erfahrung mit Portierung: VCL->CLX :==> Keine Erfahrung. CLX->VCL :==> Oft, eben auch in meinem Projekt, ein Cad Programm Open Source wird die Libc - Unit verwendet. Man kann mit bedingter Compilierung Libc unter Windows verbannen. So hier:
Delphi-Quellcode:
Aber dann kann es Probleme geben, da ja in diesem Fall Linux-spezifische Typen und Variablen mit diesen Typen verwendet wurden. Genauso verhält es sich, wenn die Unit Qt verwendet wird. Dort sind einige Handles anders definiert, als diejenigen für den gleichen Zweck unter Windows. Dann können die erforderlichen Änderungen recht umfangreich werden.uses {$ifdef Linux} Libc, {$else} {$ifdef windows} Windows, {$else} // ... evtl. andere Systeme berücksichtigen. Keine Ahnung, wie sinnvoll das mit CLX wäre. {$endif} {$endif} systemunabhängige_units; Es grüßt Delphifan2004 |
Re: vcl zu clx
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: vcl zu clx
Zitat:
Für Toolbar2000 muss die CLX erstmal ein Windows-Message-System über das Qt-Event-System stülpen. Was zu einem gewissen Grad schon möglich ist, aber einen heiden Arbeit machen würde. Zitat:
Zitat:
Zitat:
|
Re: vcl zu clx
Posting gestrichen, weil ich den kompletten Text von tommi-lie hier kopiert hatte. :wall:
|
Re: vcl zu clx
Zitat:
Zitat:
|
Re: vcl zu clx
Zitat:
Zitat:
|
Re: vcl zu clx
um mal zum Thema zurückzu ...
das mit dem vcl->clx weiss ich jez wie, allerding ist das für dieses Projekt etwas zu aufwendig ... wer sich das ganze mal mit wine anschauen möchte und mir dann sagen will, warum alles verschoben ist (ICH denke mal, wegen der Schrift ... ) .. gibts ![]() naja ... gibt es sonst noch irgendwelche alternativen zu kylix ... ich meine, um jez für linux zu programmieren (außer kdevelop, qt, ...), irgendwas mit pascal(/delphi)? mfg, eyeless |
Re: vcl zu clx
Ja, die Schriftgröße ist definitiv größer als unter einem frisch installierten Windows XP. Welchen Font verwendest du? Wie sehen die sonstigen Einstellungen der Font-Klasse aus, wenn du sie im ObjectInspector aufklappst?
Aber immerhin gibt es keine großartigen fixmes, wenn man das Programm startet, die Oberfläche und die verwendeten Komponenten funktionieren also zumindest vollständig. Einzige Ausnahme ist die Transparenz, da SetLayeresWindowAttributes() zumindest im WinE vom letzten Monat nur als Stub existiert. Ob das auch noch für die Funktionalität selbst gilt, habe ich nicht ausprobiert. |
Re: vcl zu clx
Zitat:
![]() mfg micsie |
Re: vcl zu clx
@tommie-lee:also schriftart hab ich eigentlich alles so gelassen wie standart ... MS Sans Serfi (hat die linux?), größe 8, DEFAULT_CHARSET, clWindowText ...
aber ja, ansonsten läuft die anwendung super, ich kann sogar über sendmessage mit den anderen 2 anwendungen kommunizieren, indy funzt auch super .. das einzige ist noch, dass die list irgendwie nicht ajtualisiert wird, wenn ich was runterlade, erst wenn alles fertig ist ... functioniert ProcessMessages under linux nicht? @micsie: was ist mono? und was ist dieses chrome? mfg, eyeless |
Re: vcl zu clx
Zitat:
Zitat:
![]() |
Re: vcl zu clx
hmmm .. .habs mir mal runtergeladen und angeschaut ... und hab keinen Plan, wie das funzen soll!
gibt es da irgendwo tuts oder so? chrome für mono ist ja irgendwie nur eine commandozeilen-dinge und in mono hab ich eine glade-ide gefunden ... was mache ich damit und was hat das mit pascal zu tun? mfg, eyeless |
Re: vcl zu clx
Sorry...
a) Ist das way OffTopic und b) Habe ich keine Lust dir Sachen zu erklären bei denen du zu faul zum lesen warst... |
Re: vcl zu clx
mmmhh ... jaja, trotzdem danke, werz mir mal anschauen ...
|
Re: vcl zu clx
Zitat:
Zitat:
|
Re: vcl zu clx
um nochmal auf das verschieb-problem zurückzukommen ...
jemand hat das programm für mich unter debian getestet, hat auch gefunzt, allerdings gibt die konsole folgende meldung aus: ![]() wohl irgendwie ein problem mit der (virtuellen?) auflösung? und dann diese fehlermeldungen ...? jemand ne Ahnung, was da nicht stimmt? mfg, eyeless |
Re: vcl zu clx
Liste der Anhänge anzeigen (Anzahl: 1)
Indeed... Die Auflösung scheint bei mir nicht zu stimmen, physikalisch habe ich nur 90 statt 96 DPI (da soll doch mal einer sagen, die ALDI-CRTs seien rausgeworfenes Geld, man kriegt sogar mehr Bildfläche als üblich :mrgreen:).
Den Registry-Schlüssel kannte ich noch nicht, nachdem ich ihn auf 90DPI geändert hatte, sieht es jetzt so aus, wie im Anhang zu sehen, also normal. Das Problem bei der Checkbox in der Mitte lässt sich lösen, indem du die Komponente ein wenig breiter ziehst, die Schrift scheint nämlich immer noch größer zu sein als unter Windows. Außerdem solltest du für Linux den Blödsinn mit dem TNA sein lassen und das Programm wie üblich in der Taskleiste anzeigen lassen, für solche Spielereien spielen GNOME (2.10 bei mir) und WinE (20050725 bei mir) noch zu schlecht zusammen. Was für eine Message 1216 (0x4C0) ist, weiß ich nicht. WM_USER ist 0x400, was in jedem Fall niedriger ist, selbst wenn 1216 schon die hexadezimale Schreibweise ist. GetFileName95 ist keine Funktion, die ich im SDK finden kann, und beim einfachen Starten taucht der Fehler bei mir auch nicht auf. Solange nichts schlimmes passiert, kann man fixmes ignorieren, erst wenn irgendwas nicht wie erwartet funktioniert sollte man es damit versuchen, die nativen DLLs zu laden. |
Re: vcl zu clx
@tommie-lie: Super, danke für deine Hilfe.
Also mache ich das mit dem TNA und andere Win-Spielereien weg. Was muss ich nun den Benutzern dieses Programmes sagen, damit es auch bei ihnen ordentlich anzusehen ist? "Stellt eure DPIs richtig ein!" ;) (Wie und wo?) Nochmal Danke, mich verließ schon alle Hoffnung ;) mfg, eyeless |
Re: vcl zu clx
Zitat:
Der Registry-Schlüssel für Wine stand ja in der Fehlermeldung, ändern kann man ihn mit dem wine-Programm "regedit", das genauso aufgemacht ist wie das gleichnamige von Windows. Dort stellt man den richtigen DPI-Wert ein, der zum verwendeten Monitor und zur verwendeten Auflösung passt. Eigenltich sollten es bei mir ebenfalls 96DPI sein, offensicthlich ist aber der Rahmen um die Röhre bei mir schmaler als üblich, deswegen habe ich eine geringere Punktdichte, wenn ich das Bild so einstelle, daß es bis zum Rand geht. Ausmessen kann man das einfach, indem man eine Seite des Bildschirms ausmisst, in Zoll (Faktor 2,54) umrechnet und durch die Anzahl der Pixel in der gemessenen Richutng teilt. Beispiel: Mein Bild ist 27cm hoch, das sind ~10,63 Zoll. Meine Vertikalauflösung beträgt 960 Pixel, 960/10,63 sind 90,3 Pixel pro Zoll. Die anwesenden Typensetzer und Print-Spezialisten werden es mir verzeihen, wenn ich hier Punkt und Pixel gleichsetze ;-) |
Re: vcl zu clx
also, ich habe jez unter HKEY_CURRENT_CONFIG/Software/Fonts/LogPixels (musste ich erst erstellen, da NUR HKEY_CURRENT_CONFIG leer existierte) ein neues dingens namens "Resolution" erstellt und 81.25 (768/(24/2.54)) eingegeben, dann wine leecher.exe und TATA ... immernoch so .. was machte ich falsch?
mfg, eyeless |
Re: vcl zu clx
Zitat:
Oder aber mit 81.25 einen ungültigen Wert eingeben, da gehört nämlich ein Integer rein, also auf 81 runden ;-) |
Re: vcl zu clx
mmhh .. wird zwar OT, aber;
habe mir das neuste wine-rpm-package runtergeladen und installiert. wenn ich dann wine regedit.exe eingeben, ist HKEY_CURREN_CONFIG trotzdem leer, auch wenn ich dann die auflösung mit winecfg einstelle, danach immernoch leer ... was mache ich falsch? sorry für ot ... mfg, eyeless |
Re: vcl zu clx
Sorry, mein Fehler, mein HKEY_CURRENT_CONFIG ist ebenfalls fast leer :mrgreen: Der einzige andere Pfad in diesem Schlüssel stammt aus den Interneteinstellungen des IE.
Geht es mit der neuen Version und bei Verwendung einer ganzen Zahl immer noch nicht? Bei mir sieht die Registry an dieser Stelle so aus:
Code:
Bei dir wären es mit 81 DPI dword:00000051 statt 51.
[System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts] 1125314402
"LogPixels"=dword:0000005a |
Re: vcl zu clx
AAAHHHHHH ... jez gez!!!
ich hatte anstatt dword einfach 81 als text eingegeben, tststs, ich dummie! komisch nur: bei 81dpi sah es noch komisch aus, hab dan spaßenshalber mal 90 eingegeben, und es war süperb ... komisch, aber nu gez edit: man muss die dpi wohl mit der virtuellen auflösung berechnen (bit es bei suse), somit wären es bei ca. 90/91 ... DANKÄÄÄ, tommie-lee ... werde nun mal schauen, wie ich es nun richtig für linux mache wohl mit cpp oder so (vorschläge für einfache ide?) mfg, eyeless |
Re: vcl zu clx
Zitat:
Eierlegende Wollmilchsau -> Eclipse (Formdesigner für Gtk+-Anwendungen wäre Glade, für Qt weiß ich nichts) Qt-Entwicklung unter KDE -> KDevelop (bin mir nicht sicher, ob der einen Form-Designer hat) Gtk+ (bzw Gtk-- bei C++) unter Gnome -> Anjuta und Glade (Fällt es auf, daß ich mich mit Qt noch nie beschäftigen wollte? :mrgreen:) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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 by Thomas Breitkreuz