Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Speicherbereichprobleme?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.03.2008, 18:36 Uhr
~Hilfsbedürftiger
Gast


Hi Leute,

Isch wär noch mal blede mit dem Scheißding! :-D

Also folgendes:
Ich schreibe gerade ein Konsolenprogramm, welches die ckftp2 Klasse von Chilcat verwendet!

Das problem ist nur, sobalt ich eine Methode dieser Klasse aufrufe bzw. die Klasse selbst innerhalb einer Prozedur/Funktion instanziiere kann ich danach keine vorher gefüllten const char * arrays mehr benutzen!

Hier mal ein kleiner Einblick:

C++:
const char * ccArray[9] = {"inhalt1", "inhalt2", "inhalt3", ...}

void MyProcedure(void)
{
  printf("\ndebug1: %s\n", ccArray[0]); //so jetzt gibt er "inhalt1" aus..passt!
  
  CkFtp2 ckftp2Ftp; //so jetzt instanziiere ich die ftp-klasse!

  if (!ckftp2Ftp.UnlockComponent(""))
  {
   printf("%s",ckftp2Ftp.lastErrorText());
   return;
  }
  else printf("done.");

  printf("\ndebug2: %s\n", ccArray[0]); //so jetzt gibt er bullshit aus =?ä0...
  printf("Was zum Teufel geht hier vor verdammte Axt?");
}



So bei debug1 ist die Welt noch in Ordnung!
Bei debug2 gibt er nurnoch scheiße aus! Als währe der Speicherbereich überschrieben worden??? Ich glaub dass ich spinn langsam!

Seid bitte nachsichtig mit mir, ich bin ein absoluter Newby! Ich lerne es gerade erst so richtig!

Danke schonmal und Gruß,
Der Hilfsbedürftige

p.s.: habe wirklich gesucht! Aber es ist wirklich schwer danach zu suchen!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.03.2008, 21:16 Uhr
~Hilfsbedürftiger
Gast


Also bin jetzt von selbst drauf gekommen! Sorry leute aber ich hock schon den halben Tag vor diesem Code und irgendwann kommt man nicht mal mehr auf die einfachsten Sachen!

Das Problem war, dass ich in einer anderen Prozedur das ccArray eingelesen habe!
Und zwar so:


C++:
char *charVariable[256];
//...
ccArray[i] = charVariable;


Da ein Array automatisch immer nur ein Pointer auf den Anfang seines ersten Elements zeigt,
konnte das natürlich nicht gehen! Was da also drin stand wurde mit beenden der Funktion wieder freigegeben und die nächste (oben gezeigte prozedur) hat jetzt natürlich nurnoch den Bullshit lesen können, wenn der Speicherbereich bereits überschrieben wurde!

Danke tortzdem für die vielen Antworten :-P

Gruß,
Der Hilfsbedürftige
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: