Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

11.11.2006, 21:47

Probleme mit einem managed Array in einer Strucktur

Halloechen!!
Ich bruache eure Hilfe.. denn es geht in meinem Programm nicht weiter ;) :

C-/C++-Quelltext

1
2
3
4
value struct HAUPT
{
        array <VERWALTUNG> ^ main;
};

Diese Strucktur sieht vielleicht ein wenig sinnlos aus- soll aber das Programmieren von Funktionnen in meinem Programm einfacher machen, wenn die auf die Daten von diesem main Array zugreifen wollen(ich habe naemlich noch nicht herausgefunden wie man Arrays in einer Funktion zurueckgeben kann- geht das ueberhaupt??).

Auf jeden Fall wird diese Strucktur auch schoen eingesetzt- hier ist der Codeausschnitt:

C-/C++-Quelltext

1
2
HAUPT db;
db.main = gcnew array<VERWALTUNG>(include->Count);

Ich habe dann in meinem Programm auch eine Funktion, die an diesem Main Objekt ein wenig rumschraubt um da was zu veraendern.. und um das moeglichst einfach zu haben wird einfach diesem "db" der returnwert dieser Funktion zugewiesen- der Rueckgabewert ist vom Typ HAUPT.

C-/C++-Quelltext

1
2
3
4
5
6
db = analyse(codebox->Items[i]->ToString(), db);

HAUPT analyse(String^ line, HAUPT root)
{
.......
};

Das Problem, das ich jetzt aber habe ist, dass der db.main Array mehrere Objekte enthaelt- wenn ich die Funktion analyse aufrufe und mir das mit Step-by-Step anschaue dann hat der root.main Array nur das erste Objekt von db.main- woran liegt das???
Ich hoffe mein Text war verstaendlich und nicht zu lang (ich hasse es selbst immer so lange Texte zu lesen- desshalb sorry!)- wenn ihr mehr Code braucht um das Problem zu loesen dann sagt bitte Bescheid!!

Jonas

2

13.11.2006, 02:40

Es waere cool wenn ihr ein paar Kommentare zu dem Problem parat haettet- und wenn ihr nur schreibt "keine Ahnung" oder so- es ist aber wirklich so, dass ich hier nicht weiter weiss und desshalb waere ich fuer Hilfe wirklich dankbar!! Braucht ihr denn vielleicht noch mehr Informationen um das Problem besser einschaetzen zu koennen- oder hat wer mit sowas in der Art schonmal Erfahrung gemacht oder ist da auch steckengeblieben?? Bitte redet mit mir ;)

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

13.11.2006, 07:14

Das Problem ist vermutlich, dass ich bis heute noch keinen kennengelernt habe, der Managed Code benutzt und ich daraus schließe, dass es auch hier im Forum nicht viele Leute geben wird, die sich damit auskennen.

Du solltest viell. auch noch ein bisschen mehr Code zeigen, mich würde z.B. interessieren, wie genau das Array initialisiert wird.

mfg Philipp

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

4

13.11.2006, 08:13

Ich hab mal mir Managed Code versucht zuarbeiten(als Anfänger) und ich komme damit nicht klar.
Ich bleibe wie viele lieber beim Unmanged da dieses Managed wieder eine spielerei von MS ist.
Wenn es was bringt okay aber mein fall ist das nicht ;)
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

5

13.11.2006, 14:01

Zitat von »"Phil_GDM"«


Du solltest viell. auch noch ein bisschen mehr Code zeigen, mich würde z.B. interessieren, wie genau das Array initialisiert wird.


Also erst mal vielen Dank fuer die Antworten ganz kurz @T-Virus:
Bei mir ist es so, dass ich damit ganz gerne arbeite weils einfach bequemer ist (wenn man sich erst mal dran gewoehnt hat)!! Das ist eigentlichy der einzige Grund warum ich mit managed Code arbeite ;)
und @Phil und zu deinem Zitat da oben ;) :
Ich habe da eigentilch schon alles geschrieben, was mit dem ganzen Problem zusammenhaengt!! Die Struktur VERWALTUNG ist halt eine recht grosse Struktur, in der auch nochmal Arrays und Variablen von anderen Strukturen (wird das eigentlich nur mit "k" oder mit "ck" geschrieben :oops: ??) untergebracht sind- und der Array wird eigentlich wirklich nur so initialisiert:

C-/C++-Quelltext

1
2
HAUPT db; 
db.main = gcnew array<VERWALTUNG>(include->Count);

Dieses include->Count ist dabei einfach eine StringCollection, bei der die Eigenschaft Count- also die Anzahl der gespeicherten Strings- genommen wird und dann fuer die Array Initialisierung benutzt wird. Da liegt auch gar nicht das Problem!! Ich habe perfekt das Ergebnis, das ich haben will! Nur wenn "db" dann an die Funktion "analyse" uebergeben wird dann hat dieser "main" array nur noch ein Objekt und zwar das urspruenglich erste des ganzen main arrays, den ich direkt nach der Initialisierung hatte (und noch immer habe aber halt leider nicht 100%ig so in der Funktion)
Ich hoffe ich habe jetzt nicht voellig an dir vorbeigeredet und du willst eigentlich etwas ueber die Initialisierung an einer ganz anderen Stelle wissen....... das ist aber eigentlich die einzige Stelle!!

Ja und vielleicht muss ich das nochmal in einem anderen Forum versuchen- vielleicht haben sie da mehr Erfahrung auf dem Gebiet gesammelt- der Hinweis ist gut- Danke!!

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

6

13.11.2006, 14:31

hmm okay es ist zwar bequemer aber in der C++ Programmierung wirst du nicht häufiger drauf treffen als auf unmanged ;)
Den wie gesagt ist Managed Code eine Codeart von MS und läuft deshalb nur auf MS VC++ und das ist nicht die Krönung ;)
Ich persönliche meide es =D
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

7

13.11.2006, 15:15

jupp!! Jeder hat so seine Gruende... solange ich es unter Microsoft einfacher haben kann.... nutze ich die Chance...ich denke mal aber auch, dass ich irgendwann gezwungen sein werde native zu nutzen..... von daher ist da mit Sicherheit auch sinnvoll vollstaendig in native zu proggen um bei solchen Situationen gewappnet zu sein :D :D ;)

Werbeanzeige