amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Zeiger/Array Problem [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2003-05-24, 13:55 h

StefanHaegele
Posts: 281
User
Hallo,

ich habe ein kleines Zeigerproblem:

Ich habe folgende Struktur

EasyOpen{ STRPTR name, ULONG version };

Diese wird folgendermaßen initialisiert

static EasyOpen Array_Libs[] = { "exec.library", 38, "intuition.library, 38, NIL, NULL };

Dieses Array wir nun in eine öffentliche Struktur folgendermaßen eingebunden

myBase->res_Libs = Array_Libs;

Wenn ich nun auf diese Array zugreifen will, bekomme ich nur Datenmüll. Ich greife folgendermaßen auf das Array zu:
(lib ist der Index)


EasyOpen *objecct = (( EasyOpen** )myBase->res_Libs )[lib];

STRPTR name = object->eo_Name;

Was mache ich falsch ?

Danke
Stefan

[ Dieser Beitrag wurde von StefanHaegele am 24.05.2003 editiert. ]

[ - Answer - Quote - Direct link - ]

2003-05-24, 14:09 h

thomas
Posts: 7718
User

Zitat:
EasyOpen{ STRPTR name, ULONG version };

Wenn du das so schreibst, hast du eine Funktion definiert, keine Struktur. Du meinst

typedef struct {STRPTR eo_Name; ULONG eo_Version;} EasyOpen;

Zitat:
static EasyOpen Array_Libs[] = { "exec.library", 38, "intuition.library, 38, NIL, NULL };

Das ist falsch. Richtig ist:

static EasyOpen Array_Libs[] = { {"exec.library", 38}, {"intuition.library, 38}, {NIL, NULL} };

Der Rest war mir zu kompliziert.

Versuch's mal damit:

struct {
...
struct EasyOpen *res_Libs;
...
} *myBase;

myBase->res_Libs = Array_Libs;

EasyOpen *object = &(myBase->res_Libs[lib]);

name = object->eo_Name;

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2003-05-24, 15:07 h

StefanHaegele
Posts: 281
User
Danke, nun gehts.

Stefan

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Zeiger/Array Problem [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.