Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   ClassName eines Forms ohne Form-Namen ändern (https://www.delphipraxis.net/159857-classname-eines-forms-ohne-form-namen-aendern.html)

hoika 15. Apr 2011 14:50

ClassName eines Forms ohne Form-Namen ändern
 
Hallo #,

weiss jemand, wie ich den Klassen-Namen eines Forms
ändern kann (also zur Erzeugungszeit des Forms).


Heiko

mkinzler 15. Apr 2011 14:53

AW: ClassName eines Forms ohne Form-Namen ändern
 
Indem man eine andere Klasse nimmt.

Bernhard Geyer 15. Apr 2011 14:58

AW: ClassName eines Forms ohne Form-Namen ändern
 
Der Klassennamen ist der Klassennamen ist der Klassenname.

Was willst du damit bezwecken?

shmia 15. Apr 2011 15:21

AW: ClassName eines Forms ohne Form-Namen ändern
 
Schau Dir mal die
Delphi-Quellcode:
procedure RegisterClassAlias(AClass: TPersistentClass; const Alias: string)
an.
Meine :glaskugel: sagt mir, dass du das gebrauchen könntest.

hoika 15. Apr 2011 17:55

AW: ClassName eines Forms ohne Form-Namen ändern
 
Hallo,

hm wozu brache ich das.
Ist geheim ;)

Im Ernst, eine zugekaufte Software läuft nur, wenn unser Programm offen ist (Kopierschutz).

Jetzt musste der Formnme geändert werden, damit ändert sich auch der Klassenname.

Lösung: CreateParams überschreiben, dort kann auch der Klassenname gesetzt werden.


Heiko

himitsu 15. Apr 2011 19:37

AW: ClassName eines Forms ohne Form-Namen ändern
 
Also erstmal ist es möglich, daß der Form.Name und der KlassenName unterschiedlich sind, dazu muß man es nur in der DFM und der PAS ändern (manuell und vorzugsweise nicht in/mit Delphi).

Oder man ändert den Namen einfach im OnCreate (das ist kurz nachdem die Form und somit auch die DFM geladen wurde) ... man beachte dabei, daß Der DFM-Loader den Formnamen und den Klassennamen nutzt, um die die zur Form gehörende DFM aus den Programm-Ressoucen zu laden.


Und was soll das für ein Kopierschutz sein?
Ein kleines SendMessage (von einem externem Programm) und noch zwei kleine Befehle und deine Form hat einen anderen Namen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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