WinFuture-Forum.de: Buffer-problem In C++, Kryptische Zeichen & Absturz - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Buffer-problem In C++, Kryptische Zeichen & Absturz


#1 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

  geschrieben 31. Oktober 2007 - 18:42

Hallo,

ich hab leider nen C++ Problem wo ich nicht weiter weiß:
ich verwende Dev-C++ mit FLTK, das Widget Fl_Text_Display gibt mittels einer Bufferfunktion den Text aus, normalerweise funktioniert das auch bei den Beispielen, leider aber nicht bei folgender Implementierung:


ShowResults Show;

Fl_Text_Buffer *buff2;
Fl_Text_Display *disp2;

void CB_button_calc(Fl_Widget*, void*) {
	if((check == true) && (riseset == false)) {
		string outere = Show.Ephemeris(Fecha, Sec, Location, local, dataset);
		buff2->text(String2char(outere));
	}
}

int main(int argc, char ** argv) {
	Fl::visual(FL_DOUBLE|FL_INDEX);
	win_main = new Fl_Double_Window(50, 50, 840, 600);

	buff2 = new Fl_Text_Buffer();
	disp2 = new Fl_Text_Display(0, 210, 840, 370);
	disp2->buffer(buff2);
	buff2->text("");
}


Show.Ephemeris(Fecha, Sec, Location, local, dataset) ... greift auf eine Funktion zu in der verschiedene Dinge berechnet werden und die Ergebnisse werden in folgender Form zusammengeschustert:

...
	output_data += Double2str(fabs(desec), 1) + "\"";
...
	output_data += "\n------------------------------------------FINISHED-DATASET";
	return output_data;


Die Ausgabe bringt teilweise komische Zeichen hervor und die Anwendung stürzt bei wiederholter Ausgabe im selben Fenster ab (also wenn Funktion + Ausgabe erneut übe einen Button aufgerufen wird)

Die Ausgabe beginnt mit
-------Þ¦
etc.

Ich hab den Verdacht dass der Buffer einfach voll ist, da die Ausgabe funktioniert wenn ich den Rückgabe-String der Funktion Ephemeris künstlich verkürze ... aber dann fehlen mir ja wichtige berechnete Ergebnisse ... ich habe die Größe vorher auch nirgends definiert, war bei den Beispielen die ich verwendete auch nicht der Fall.

Compiler meldet auch nichts :-(


Hat jemand nen Schimmer was hier passiert und wie man es beheben kann?

Dieser Beitrag wurde von du ciel bearbeitet: 31. Oktober 2007 - 18:43

0

Anzeige



Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0