![]() |
@nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Hier hat mir SCP (sein Nickname) ein Programm zugeschickt, welches DFMs in Resource-Scripts (RCs) konvertiert ... und welche noch ein wenig mehr kann :)
Anschauen? Hier: ![]() [edit=Admin]Link aktualisiert. Mfg, Daniel[/edit] |
Re: @nonVCLer: VCL-Programme nach nonVCL zu installieren.
Ich programmiere zwar eher mit der VCL aber das scheint mir mal ein richtig geniales Tool zu sein...
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu installieren.
Ich kann mich alexander nur anschließen!
Fange gerade an zu lernen nonVCL zuprogrammieren und da ist dieses Tool super! |
Re: @nonVCLer: VCL-Programme nach nonVCL zu installieren.
Hi Assarbad,
wirklich sehr interessantes Programm, das den Ressourceneditor von MS VS.NET (z.B.) (fast) überflüssig macht. :) Chris |
Re: @nonVCLer: VCL-Programme nach nonVCL zu installieren.
Dennoch, das Lob gebührt einzig dem Autor - SCP.
(Ist wirklich nicht von mir, sondern von ihm. Wie auch schon ein weiterer Download von meiner Seite) |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Hier seine Homepage (laut eigenen Angaben).
![]() Er hat im übrigen Updates nachgelegt :) (siehe alter Link) |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
So, jetzt bin ich auch selber da. Fragen, Bugreports usw. zu DFM2RC könnt ihr hier im Thread loswerden.
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Erstmal Super Programm ;-)
Wenn mir was auffällt poste ich es noch ;-) |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
So, habe mal einiges erweitert und optimiert.
Zuletzt habe ich mein Augenmerk hauptsächlich auf die Common Controls gesetzt. Zum Beispiel werden jetzt die Strukturen von ListViews und TreeViews, die zur Designzeit erstellt wurden komplett im nonVCL Code rekonstruiert. Wer diese zur Laufzeit ändern will, kann ja probehalber mal eine Struktur zur Designzeit erstellen, um zu sehen, welcher Code nötig ist, um dies zu realisieren. TComboboxEx wird jetzt auch zu einer echten ComboboxEx32 mit evtl. zugewiesener ImageList, vorher hatte ich sie ja nur als normale Combobox implementiert. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Code:
Hm... :mrgreen:
[Fehler] [...]_nvc.pas(70): Undefinierter Bezeichner: 'TTCItem'
[Fehler] [...]_nvc.pas(94): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(95): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(96): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(97): Undefinierter Bezeichner: 'TCM_INSERTITEM' [Fehler] [...]_nvc.pas(118): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(119): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(120): Operator oder Semikolon fehlt [Fehler] [...]_nvc.pas(187): Undefinierter Bezeichner: 'TCN_SELCHANGE' [Fehler] [...]_nvc.pas(188): Undefinierter Bezeichner: 'TabCtrl_GetCurFocus' [Fehler] [...]_nvc.pas(224): Undefinierter Bezeichner: 'InitCommonControls' [Fehler] [...]_nvc.pas(240): Undefinierter Bezeichner: 'InitCommonControls' |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Delphi-Quellcode:
mfG
uses CommCtrl;
mirage228 |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
DANKEEEE!!!
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
So, habe das Prog jetzt mal unter Minimal-Bedingungen getestet (Windows 95, Delphi 2.0) und es dementsprechend angepasst. Es kommt jetzt ohne array of blabla (dynamische Arrays) aus und läuft unter Win95 nach ersten Tests problemlos.
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Liste der Anhänge anzeigen (Anzahl: 1)
wow, ich find das ding supergut :!: :!: :!:
allerdings fiel mir ein fehler auf, bzw 2, siehe auf dem bild (anhang). Der Button war mal unten mit in der Groupbox, und die caption der groupbox war auch mal anders ;) Wäre es möglich irgendwie die XP Manifest mit reinzukriegen? mfg |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Kannst du doch selbst machen. :roll: Zum Testen reicht doch erst mal ein externes Manifest mit dem Namen deiner Exe, "Project1.exe.manifest", und wenn die Sache richtig läuft und du das Manifest integrieren willst, dann öffnest du die RC-Datei, trägst es mit ein, kompilierst das Ressourcenskript neu, und voilà.
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
externes manifest? ich weiss nicht mal was das ist.
Zitat:
WEnn ich ein prog im xp stil mache, mac ich das in delphi7, NUR weil delphi7 die XPManifest kompo hat, also was ich eintragen muss weiss ich von daher nicht :cry: |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
btw, der fehler ist wohl, das der nonVCLer "vergisst" das die GroupBox = parent von Button1 ist, eigentlich müsste der button TOP = 16 von der groupbox aus sein, nicht von der form
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Zitat:
Das Schöne ist, dass du diese XML-Datei deinem Programm auch einfach beilegen kannst, wobei sie den Namen deines Programms und die zusätzliche Endung ".manifest" tragen muss. Wenn dein Programm also "Project1.exe" heißt, dann muss die XML-Datei "Project1.exe.manifest" heißen. Und schon benutzt das Programm unter XP den LUNA-Stil (sofern aktiv). So gesehen brauchst du nicht mal Delphi 7. Ich arbeite bspw. immer noch mit Delphi 5 Pro. Willst du das Manifest in die Ressourcen eintragen, dann nimmst du entweder die RC-Datei, die du mit scps Programm erzeugt hast, oder du öffnest Notepad und schreibst einfach die folgende Zeile:
Code:
Das speicherst du als RC-Datei, etwa "Manifest.rc", und kompilierst sie mit dem Ressourcencompiler
1 24 "Project1.exe.manifest"
Code:
in eine RES-Datei, die du wie gewohnt in dein Delphi-Projekt übernimmst. Oder, wenn du die RC-Datei mit den konvertierten VCL-Controls benutzt, dann trägst du die o.g. Zeile dort mit ein und brauchst logischerweise nur diese RC-Datei neu kompilieren, und dann hast du eine RES-Datei mit integriertem Manifest.
brcc32 Manifest.rc
Lange Rede, kurzer Sinn: Schau dir doch bitte mal die Win32-API-Tutorials von Luckie und mir an. So findest du bspw. in der List-View-Demo einige Spielereien speziell für Windows XP. Öffne einfach mal die "resource.rc" mit einem Texteditor, und du findest den Eintrag für das Manifest (liegt als "manifest.xml" im Ordner "Samples\Common Files") am Ende des Ressourcenskriptes. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
So, hab jetzt mal die v1.10 hochgeladen.
Den Fehler mit der Groupbox hatte ich wohl schon behoben, aber ich hatte die neuere Version falsch verlinkt, so das noch die alte auf der Page war. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Zitat:
Ich habe die Komponente unter D5 Pro getestet. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
danke mathias für die erklärung.
@scp: funktioniert die version unter delphi7 nichtmehr? ich bekomme immer den fehler Zitat:
Wenn ich den teil einfach rausschneide gehts zwar zu kompilieren, aber die caption der groupbox ist (siehe erste seite anhang) und beide buttons sind jetzt top 0 und left 0, keine ahnung ob das was mit dem fehler s.o zu tun hat. danke jens, mal angucken :) |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Liste der Anhänge anzeigen (Anzahl: 1)
achso, da hast du einen schreibfehler, sollte wohl "{$IFDEF DELPHI}" statt "{$IFNDEF DELPHI}" heissen.
nocmal zu den fehlern, siehe bild im anhang ;). also meine gruopbox caption ist ein simpler pfeil "»" aber in der nonvcl version steht da was mit object 187 oder so, und diesmal sind beide buttons links oben am rand statt in der groupbox :[ |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Nein, das mit dem $IFNDEF ist schon richtig (Abkürzung für IF NOT DEFINED), er soll die Meldung ja nur ausgeben, wenn er keine gültige Delphi-Version findet. Da ich DElphi 7 noch nicht eingetragen habe, erkennt ersie auch nicht. Anbei die geänderte CompilerSwitches.pas
[edit] Mit der Groupbox guck ich auch nochmal. [/edit] PS: Kann sie nicht testen, hab kein D7. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
So, Version 1.10b ist online.
Das mit der Groupbox lag daran das der "simple" Doppelpfeil ein Sonderzeichen ist. Diese verarbeitete das Prog zwar, kam aber ins schleudern, weil das Sonderzeichen für sich alleine war und nich innerhalb eines Textes. Jetzt müsste es aber gehen. |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
hoi, super, jo jetzt gehts :) cooles ding
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
morgen.
wollte das tool jetzt mal ausprobieren aber bei mir kommt diese meldung: Zitat:
Hab eigentlich im quellcode nur das geguckt wird was der exe für ein parameter übergeben wird und je nachdem ein Tastendruck simuliert wird. mFg Chris |
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
Das ist in der rc-Datei. Welche Delphi-Version hast du und wie sieht deine rc-Datei aus?
|
Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
also Delphi 7 und das ist die rc
Delphi-Quellcode:
// Unit1.dfm
101 DIALOGEX 776, 641, 69, 2 STYLE EXSTYLE WS_EX_CONTROLPARENT CAPTION "Form1" LANGUAGE LANG_GERMAN, SUBLANG_GERMAN FONT 8, "MS Sans Serif" { } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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