AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Equivalent zur C-union

Ein Thema von oXmoX · begonnen am 21. Jun 2005 · letzter Beitrag vom 22. Jun 2005
 
oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#1

Delphi-Equivalent zur C-union

  Alt 21. Jun 2005, 17:51
Hi,

hoffe mir kann jemand mit etwas C bzw. C++ Erfahrung mit meinem Problem helfen. Ich

verwende eine externe C++ Bibliothek in meinem Delphi-Code. Dazu "baue" ich einfach alle

für die Parameterübergabe benötigten Typen in Delphi nach. Das funktioniert natürlich auch

mit records (in C sind das dann structures). Mit der folgenden structure habe ich

allerdings so meine Probleme beim "nachbauen":

Code:
typedef struct CvMat
{
    int type;
    int step;

    /* for internal use only */
    int* refcount;

    union
    {
        uchar* ptr;
        short* s;
        int* i;
        float* fl;
        double* db;
    } data;

#ifdef __cplusplus
    union
    {
        int rows;
        int height;
    };

    union
    {
        int cols;
        int width;
    };
#else
    int rows;
    int cols;
#endif

} CvMat;
in Delphi würde ich schonmal so anfangen:

Code:
CvMat = record
  type_:   Integer;
  step:    Integer;
  refcount: PInteger;

  // ...und wie gehts weiter?

  rows:    Integer;
  cols:    Integer;
end;
Das Delphi-Equivalent für union ist angeblich ein variabler Record. Davon hab ich aber

keine Ahnung. Ebensowenig, wie von den Preprocessor-Anweisungen im C-Code ...muss ich die

etwa auch "nachbauen"?

Bin für jeden Hinweis dankbar!

Gruß,
oXmoX
  Mit Zitat antworten Zitat
 


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 16:17 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