Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   @nonVCLer: VCL-Programme nach nonVCL zu konvertieren. (https://www.delphipraxis.net/10481-%40nonvcler-vcl-programme-nach-nonvcl-zu-konvertieren.html)

Assarbad 19. Okt 2003 17:43


@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:

http://scp.assarbad.net

[edit=Admin]Link aktualisiert. Mfg, Daniel[/edit]

Alexander 19. Okt 2003 18:05

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...

chris01 19. Okt 2003 18:29

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!

CalganX 19. Okt 2003 19:11

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

Assarbad 19. Okt 2003 19:59

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)

Assarbad 22. Okt 2003 18:55

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Hier seine Homepage (laut eigenen Angaben).

http://www.scp.de.vu

Er hat im übrigen Updates nachgelegt :) (siehe alter Link)

Assarbad 25. Okt 2003 12:25

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Der Link ganz oben sollte in Kürze von einem Mod aktualisiert werden zu:
http://scp.assarbad.net

scp 31. Okt 2003 17:13

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.

Alexander 31. Okt 2003 18:37

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Erstmal Super Programm ;-)
Wenn mir was auffällt poste ich es noch ;-)

scp 10. Nov 2003 02:30

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.

Schubi 28. Nov 2003 08:06

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Code:
[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'
Hm... :mrgreen:

mirage228 28. Nov 2003 12:40

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Delphi-Quellcode:
  uses CommCtrl;
mfG
mirage228

Schubi 28. Nov 2003 20:03

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
DANKEEEE!!!

scp 9. Dez 2003 22:36

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.

Pseudemys Nelsoni 2. Jan 2004 09:07

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

MathiasSimmack 2. Jan 2004 09:13

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à.

Pseudemys Nelsoni 2. Jan 2004 09:28

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
externes manifest? ich weiss nicht mal was das ist.

Zitat:

und wenn die Sache richtig läuft und du das Manifest integrieren willst, dann öffnest du die RC-Datei, trägst es mit ein
Was muss ich denn da eintragen?
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:

Pseudemys Nelsoni 2. Jan 2004 09:50

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

MathiasSimmack 2. Jan 2004 11:05

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Zitat:

Zitat von Pseudemys Nelsoni
externes manifest? ich weiss nicht mal was das ist.

Das Geheimnis der Manifest-Komponente ist eine XML-Datei mit einer typischen Syntax. Ich bin mir sicher, wenn du hier oder im DF nach Manifest suchst, dann findest du den Inhalt dieser Datei. Oder du gehst direkt zu den Erfindern und suchst im MSDN von Microsoft nach "Visual Styles". (Wenn du das PSDK installiert hast, dann findest du die Datei auch dort).

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:
1 24 "Project1.exe.manifest"
Das speicherst du als RC-Datei, etwa "Manifest.rc", und kompilierst sie mit dem Ressourcencompiler
Code:
brcc32 Manifest.rc
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.

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.

scp 2. Jan 2004 12:29

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.

Jens Schumann 2. Jan 2004 12:40

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Zitat:

Zitat von Pseudemys Nelsoni
Was muss ich denn da eintragen?
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:

Du könnest auch die Manifest Komponente nutzen, die ich mir vor kurzem gebastelt habe.
Ich habe die Komponente unter D5 Pro getestet.

Pseudemys Nelsoni 2. Jan 2004 13:14

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:

{$IFNDEF DELPHI}
'This applicaction requires Delphi version 1-6'
{$ENDIF}
bei der CompilerSwitches-Unit.


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 :)

Pseudemys Nelsoni 2. Jan 2004 13:17

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 :[

scp 2. Jan 2004 13:35

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.

scp 2. Jan 2004 14:02

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.

Pseudemys Nelsoni 2. Jan 2004 14:39

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
hoi, super, jo jetzt gehts :) cooles ding

masterchris_99 24. Aug 2006 10:12

Re: @nonVCLer: VCL-Programme nach nonVCL zu konvertieren.
 
morgen.

wollte das tool jetzt mal ausprobieren aber bei mir kommt diese meldung:
Zitat:

Error Unit1_nvr.rc 5 1: Expecting unsigned long integer
was könnte das sein?

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

3_of_8 24. Aug 2006 10:16

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?

masterchris_99 24. Aug 2006 14:16

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 21:08 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