AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Verwenden von GetClass und RegisterClass
Thema durchsuchen
Ansicht
Themen-Optionen

Verwenden von GetClass und RegisterClass

Ein Thema von striker · begonnen am 18. Sep 2004 · letzter Beitrag vom 21. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
striker

Registriert seit: 18. Sep 2004
6 Beiträge
 
Delphi 6 Enterprise
 
#1

Verwenden von GetClass und RegisterClass

  Alt 18. Sep 2004, 17:01
Hallo zusammen,

ich habe folgendes Problem:

Ich versuche ein DFM mit ReadComponentResFile('c:\temp\test.dfm', form2);
auszulesen und dann anzuzeigen.
Das Problem ist das nicht alle Klassen registriert sind.
Selbst mit ein dfm welches nur Standardkomponenten enthält läßt sich so nicht
anzeigen. Funktionieren tut es wenn ich die einzelnen Klassen mit
z.Bsp RegisterClass( TButton) registrieren und dann das Fenster anzeige.
Gibt es da nicht irgendwie eine Möglichkeit die Standarddelphikomponenten
irgendwie zu registrieren bei Programmstart?

Striker
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Verwenden von GetClass und RegisterClass

  Alt 18. Sep 2004, 23:20
Wenn du die VCL (VCL07.bpl) extern verlinkst, dann können die nicht benutzten componenten nicht weg optimiert werden, und das müsste somit gehen (vermute ich mal).

PS: Wilkommen in der Praxis
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
striker

Registriert seit: 18. Sep 2004
6 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Verwenden von GetClass und RegisterClass

  Alt 19. Sep 2004, 10:23
ja ok aber wie verlinke ich die VCL extern? Mit LoadPackage ?
Loadpackage('vcl60.bpl') wird zwar ausgeführt und ich bekomme auch ein Handle zurück aber
GetClass oder FindClass bringen immer noch kein Ergebnis..

Ps: danke für die willkommensgrüsse
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Verwenden von GetClass und RegisterClass

  Alt 19. Sep 2004, 13:49
Ne ne, das was du versucht hast, ist dynamisches laden von BPLs zur laufzeit (kann für plugIns recht praktisch sein).

Du musst es statisch extern verlinken: Projektoptionen -> packages -> 'mit laufzeit-packages compilieren' -> rtl60, vcl60 ....in etwa.

dh. du musst diese packages (aus %win\system32) dann aber auch mit ausliefern

mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
striker

Registriert seit: 18. Sep 2004
6 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Verwenden von GetClass und RegisterClass

  Alt 19. Sep 2004, 21:22
Das hab ich nun auch probiert aber es hat auch keinen Erfolg gebracht...
Laut doku ist es doch so dass ein Package alle Klassen registriert sobald es geladen
wird. Meine Vermutung ist das die Registrierung nicht global geschieht...
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Verwenden von GetClass und RegisterClass

  Alt 20. Sep 2004, 10:05
hmm... hab mal ein bisschen geforscht und fest gestellt, das komponenten, die direkt auf einer form benutzt werden nicht explizit registriert werden müssen. Es wird einfach die fieldClassTable des forms geholt, wo dann alle klassen gelistet sind die das form benutzt...und erst danach wird nach klassen gesucht, die in der normalen registrierung sind

So jetzt gibt es da aber einen illegalen trick, der aber relativ effektiv sein könnt.

Werd heut abend mal was zu testen und dann bescheid sagen
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Verwenden von GetClass und RegisterClass

  Alt 21. Sep 2004, 14:17
NEIN... Alles futsch. Ich hoffe mal du hast den beitrag auswendig gelernt?
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
striker

Registriert seit: 18. Sep 2004
6 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Verwenden von GetClass und RegisterClass

  Alt 21. Sep 2004, 17:05

Neeeeeeeeeeeeeeeeeeeeeeeeeeeinnnnn. Natürlich nicht.
Hast du es bitte noch irgenwo??
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Verwenden von GetClass und RegisterClass

  Alt 21. Sep 2004, 23:15
Da ich es hasse mich zu wiederholen, mach ich es kurz. In der unit steht jetzt alles nötige und der code von Hagen. Du musst nur die folgende funktion aufrufen:

RegisterAllPersistentClasses(HInstance); Das registriert, wie gesagt, alle TPersistent abkömmlinge, deren RTTI einträge in dem modul gefunden werden.

viel glück
Angehängte Dateien
Dateityp: pas hagenuminfo.pas (2,7 KB, 165x aufgerufen)
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
striker

Registriert seit: 18. Sep 2004
6 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Verwenden von GetClass und RegisterClass

  Alt 22. Sep 2004, 08:34
Hallo Maximov,

Ja super das ist genau das was ich brauche.

Vielen Dank Maximov
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:25 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