000
03.05.2006, 12:19 Uhr
xenayoo
|
Hallo, ich habe ein kleines Verständnisproblem mit Klassen und Zeigern. Folgendes möchte ich machen:
Ich schreibe Ergänzungs-dlls die ein sogenanntes COM-Interface nutzen (was auch immer das is ist) für eine Interpreter-Programmiersprache. Ich kann innerhalb der dll direkt auf Variablen, Arrays usw zugreifen, ohne diese explizit übergeben zu müssen. Um dieses zu erreichen, wird eine Objektbibliothek importiert. Ich kann also auf Variablen zugreifen: InterfaceObject->Variables["Variablenname"]; Bsp:
C++: |
int __stdcall MyFunc (IEasyLanguageObject *pELobj); { IEasyLanguageVariable *pELvar = pELobj->Variables["Name"]; double Wert = pELvar->asDouble[0]; ..... }
|
Das funktioniert soweit. Nur wenn ich den umgekehrten Weg versuche, erhalte ich eine Fehlermeldung.
C++: |
.... pELvar->putAsDouble[0] = Wert; .....
|
Mein Problem liegt wohl im Grundsätzlichen Verständins von Klassen und Zeigern begründet. Bislang haben mir diverse Bücher noch nicht zum Aha-Klick verholfen (Einstieg in C++ von Willemer, Die C++ Programmiersprache von Strousstrup...). Soweit ich das verstanden habe, handelt es sich quasi um verschachtelte Klassen. Da ich bislang jedoch nur prozedural programmiert habe und auch da möglichst einen Bogen um Zeiger gemacht habe, fällt mir das Verständiss ein wenig schwer. Z.B. wie müsste ich einer Funktion die Zeiger übergeben, damit auch sie auf die o.g. Objekt zugreifen kann? Wann benutzt man Referenzen und wann Zeiger?
Fragen über Fragen... -- Wer Rechtschreibfehler findet, darf sie behalten.... ;) |