Einzelnen Beitrag anzeigen

Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#10

Re: ein Interface für ein 2D-Skalarfeld beliebiger Größe ?

  Alt 18. Dez 2006, 15:39
Hallo, vielleicht noch mal zu Marabus Bitte der genaueren Formulierung meiner Frage.

Sicherlich bringe ich hier die Begriffe Klasse und Typ durcheinander. (bin eben ein altes Greenhorn)

Ich schreibe ein Projekt, in dem ich Bilder voneinander subtrahiere und andere Dinge damit mache.

Ich habe mir schon vor langer Zeit eine Komponente KA zur Darstellung eines Grauwertbildes eines 2D-Skalarfeldes gemacht. Diese Komponente KA bringt mir einen Typ für das Skalarfeld TA mit (aber dynamisch undimensioniert).
Delphi-Quellcode:
// Komponente A
type
    TA = array of array of single;
    TKA = Class(...);
        procedure XYZ(F:TA)
var
    A : TA;
Diesen Typ verwende ich auch zum Erzeugen von Instanzen im Hauptprogramm, und dimensioniere dort auch diese.
Delphi-Quellcode:
// im Hauptprogramm
uses KA;
type
    AB : TA;
implementation
    SetLength(AB,512,512);
    KA1.XYZ(AB)
    ....
Weiterhin habe ich im Hauptprogramm die Dimension dieses 2D-Skalarfeldes an die besagte Komponente zwecks Dimensionierung dort weitergegeben.

Nun habe ich aber auch eine 2. Komponente KB, die etwas anderes macht als die erstgenannte Komponente KA.
Auch diese Komponente liefert ein dynamisches 2D-Skalarfeld TB.
Delphi-Quellcode:
//Komponente B
type
    TB = array of array of single;
    TKB = Class(...);
        procedure XYZ(F:TB)
var
    B : TB;
Im Hauptprogramm sollen nun die Skalarfelder der beiden Komponenten KA und KB zusammen passen.
Delphi-Quellcode:
//im Hauptprogramm
uses KA, KB;
type
    AB : TA;
implementation
    SetLength(AB,512,512); //Wunsch: diese Dimens. sollte auch in den Komponenten
                            //gelten!

    KA1.XYZ(AB);
    KB1.XYZ(AB);
    ....
Natürlich geht das nicht, wie ich es eben geschrieben habe.

Das ganze riecht meiner naiven Vorstellung nach nach der Programmierung auf eine Schnittstelle und Polymorphie, wo ich einfach Hilfe brauche.

Wie Du siehst Marabu, ist dieses ein praktisches Problem, das ich wegen eines theoretischen Problems nicht lösen kann.

Wäre wirklich prima, wenn Du, bzw Ihr meiner wirren Problemformulierung folgen und mir helfen könnt. Ich bin nicht in der Lage, dieses besser zu formulieren.

Nochmals Danke für Hilfe und Verständnis, auch wenn der Weihnachtsmann nun mit einer Rute zu mir kommen wird.

E. B.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat