Hallo, Maximilian,
die Subclass habe ich nur benutzt, um's mal auszuprobieren. Tatsächlich, einen größeren Nutzen hat die Subclass nicht. Deshalb habe ich sie jetzt auch weggelassen. Dein Hinweis auf den Cunstructor allerdings ist richtig wertvoll. Tja, man liehst schon Handbücher, aber begreifen tut man's meist erst, wenn man in die Verlegenheit kommt, es zu brauchen. Also, Dank an die Mailing-Liste für die Tipps.

Ich mach' mich jetzt 'mal daran, die Fenster-Instanzen in einem Array zu halten. Das werd' ich wohl hinkriegen. Ansonsten frage ich wieder nach.

beste Grüße, Christian Hahn.

----- Original Message ----- From: "Maximilian Tyrtania" <maximilian.tyrta...@onlinehome.de>
To: "REALbasic NUG German" <realbasic-nug.de@lists.realsoftware.com>
Sent: Thursday, February 04, 2010 1:18 PM
Subject: Re: Fenster-Kopien herstellen


Hi,

Ich hab's jetzt so gemacht:
Ein gewöhnliches Fenster "TabellenFenster", davon eine SubClass "CustomTabellenFenster".

Die Unterklasse brauchst Du nicht, es gibt kein Problem, dass Du damit löst. Was hat dir an Christian Schmitz' Vorschlag nicht behagt?

In der Routine, die in der DB die Anzahl der DB-Tabellen abfragt:
  for i = 1 to rsTable.RecordCount
    neuesFenster = new CustomTabellenFenster
    rsTable.MoveNext
  next

Im Open-Event von neuesFenster wird die fenstereigene Routine Eingang aufgerufen, von dort aus steuert sich das Fenster selbst.
Ist das einigermaßen regelgerecht? Klappen tut's jedenfalls.

Im Prinzip ja.

Allerdings, ich würde neuesFenster gerne noch mindestens 1 Parameter übergeben, nämlich den Namen der Tabelle aus der DB, die das Fenster anzeigen soll. Im Moment muss neuesFenster diesen Namen noch selbst in TabellenFenster (hier werden die Namen der DB-Tabellen angezeigt und von hier aus lassen sich die verschiedenen Instanzen von CustomTabellenFenster in den Vordergrund holen) abfragen.

Bau Dir einen constructor für das Fenster mit dem Tabellennamen als Parameter. Dann sagst Du in Deiner Schleife:

neuesFenster = new CustomTabellenFenster(myTable)

Ciao,

Max

Antwort per Email an