AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi nicht instanziiertes Frame zur Laufzeit finden
Thema durchsuchen
Ansicht
Themen-Optionen

nicht instanziiertes Frame zur Laufzeit finden

Offene Frage von "cBoB"
Ein Thema von cBoB · begonnen am 4. Mai 2004 · letzter Beitrag vom 5. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von cBoB
cBoB

Registriert seit: 6. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#1

nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 12:22
HAllo liebe DelphiNutzerGemeinde 8)

Folgende Frage hab ich heute an Euch:
Wie kann ich ein Frame, welches zwar als Klasse vorhanden ist, aber noch nicht instanziiert ist während der Laufzeit finden? Geht das überhaupt?
Mir geht es nämlich um folgende Übung: ich schreib jetzt an der Grundausstattung für ein Programm, welches später einfach über das einhängen von Frames erweiterbar sein soll, ich will aber am eigentlichen Programm nix mehr verändern müssen, da es sein kann, daß später jemand anderes ein Frame hinzufügt, welches aber vom Programm aus gefunden werden soll. Sieht also wie eine Art Plug-in - allerdings quelltextseitig aus.
WÜrde mich zwar freuen, wenn ich das einfach àla Winamp (u.a.) schaffen könnte, indem ich einfach ne DLL in ein bestimmtes Verzeichniss schreibe und das Programm die dann automatisch einbindet, aber dazu fehlt mir glaube ich auch noch eine gehörige Portion Programmiererfahrung. Wenn allerdings dazu Jemand ne Art Tutorial oder Hinweis hat, kann er das auch posten, nich?!

Vilen Dank!
-c-
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#2

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 12:53
Hallo,

Schau dir mal das UIL-Plugin System an. Die Version 5 ist Opensource --> download für D5

Ich bin damit ganz gut zurechtgekommen. Das dürfte dir helfen.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 6. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#3

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 13:04
Klingt erstmal nicht schlecht, aber wie gesagt, zum jetzigen Zeitpunkt muß es ao gehen, dass noch direkt in den Quellcode geschrieben wird, was uns wieder zurück zur eigentlichen Frage bringt. Irgendwelche Ideen?

-c-
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 13:41
siehe Code-Library: Formulare & Datenmodule dynamisch über Klassennamen erzeugen
Dies geht auch für Frames.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 6. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#5

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 14:12
Hm, jaja, is shon ok, erzeugen kann ich's ja und per 'uses' in den code einfügen könnte ich aber auch noch verkraften. Es geht mir ja darum, dass ich wie zum Bleistift mit Application.Components[i] schon instanziierte Komponenten finde, auch noch nicht instanziierte finden kann wie z.B. ein frame, dass noch nicht mit Create erzeugt wurde, was aber theoretisch möglich wäre, da es ja im Programm enthallten ist.

-c-
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 14:25
Moin!

Du könntest dir eine Liste mit einer Metaklasse (vom Typ Class Of TFrame) aufbauen und damit das ganze bewerkstelligen. In dem Initialization Teil der Unit die eine Frame definiert, fügst du einfach die Frame in die Liste ein. Ein Beispiel für ein solches Vorgehen findest du bei den StringAdaptern in der XML Library auf meiner HP.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 14:27
Tut mir Leid, ich werde aus deiner Frage nicht schlau.
Ist eine nicht instanziierte Komponente für dich einfach eine Klasse oder eine noch nicht zugewiesene Variable?
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 14:34
Zitat von cBoB:
Hm, jaja, is shon ok, erzeugen kann ich's ja und per 'uses' in den code einfügen könnte ich aber auch noch verkraften. Es geht mir ja darum, dass ich wie zum Bleistift mit Application.Components[i] schon instanziierte Komponenten finde, auch noch nicht instanziierte finden kann wie z.B. ein frame, dass noch nicht mit Create erzeugt wurde, was aber theoretisch möglich wäre, da es ja im Programm enthallten ist.
Dazu müsstest du an das Objekt ClassList aus der Unit Classes herankommen.
Dann hättest du Zugriff auf alle registrierten Klassen und könntest deine Frames
ausfiltern.
Leider ist das Objekt nicht im Interface-Abschnitt veröffentlicht.
Es bebleibt dir also nichts anderes übrig, als deine Frameklassen selbst
in einer selbstgebauten Liste nach dem Vorbild von ClassList anzumelden.
Später kannst du diese Liste durchsehen und findest so alle registrierten Frameklassen.
Mit der Frameklasse kannst du dann eine (oder mehrere) Instanz(en) erzeugen
und dynamisch in ein Formular einbetten.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 6. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#9

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 14:49
@sanchez
Na mit nicht instanziierte Komponente meinte ich z.B. ein Frame, das zwar im Projekt enthalten ist, aber es wurde eben noch keine Instanz gebildet.

@shmia & @muetze
Ja, dann muß ich wohl oder übel die Frames doch mittels einer Liste verwalten.

erstmal danke so weit!
-c-
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#10

Re: nicht instanziiertes Frame zur Laufzeit finden

  Alt 4. Mai 2004, 15:00
Also eine Klasse
Daniel
Testen ist feige!
  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 13:22 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