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

03.09.2005, 14:58

tbGUIInput: Textfeld lehr --> Fehler??

Hey, ich hab schon über die Suche geschaut, aber entweder nix oder mind. 22 Seiten von Threads gefunden... Also ich hab ein ganz normales Textfeld mit der tbGUI-Klasse erzeugt. (ohne Passwort-funktion). Bisher haben alle Steuerelemente wie erwartet funktioniert, aber beim Textfeld kommt sowohl in release als auch in debug ein Fehler, sobald das Textfeld keinen Text mehr enthält:
blablub.exe hat ein problem festgestellt und muss beendet werden. (ich hasse diesen fehler)

Ich arbeite mit VC++ 6.0 ohne SP (da ichs nicht installen konnte??)

Wenn ich dem Textfeld von anfang an als Wert "" übergebe, dann kommt der Fehler auch... und sogar wenn ich den Parameter weglasse...

Kennt jemand dieses Prob oder weiß jemand ne Lösung??
Try and Error!
MfG, schachmat

2

03.09.2005, 17:03

Ja ich kenn das Prob hab das auch mal behoben ist nur nen kleiner Fehler ich schau mal ob ichs noch find.

3

03.09.2005, 17:37

THX

da muss man dann wohl was an der Engine verändern nehme ich an. ich hab mir das entsprechende file mal angesehen, aber nix gefunden...
Try and Error!
MfG, schachmat

4

03.09.2005, 18:02

Gehe ich richtig in der Annahme, dass der Fehler hier drin steckt?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            case TB_KEY_DELETE:
            case TB_KEY_DECIMAL:
                {
                // Zeichen löschen
                for(int i = m_iCursor; i < (int)(strlen(m_acText)); i++) m_acText[i] = m_acText[i + 1];
                }
                break;

            case TB_KEY_BACK:
                if(m_iCursor > 0)
                {
                    // Zeichen löschen
                    for(int i = m_iCursor - 1; i < (int)(strlen(m_acText)); i++) m_acText[i] = m_acText[i + 1];
                    m_iCursor--;
                }
                break;


Ist natürlich nur ein Ausschnitt...
Der Fehler tritt sowohl bei Backspace als auch bei Entf/Del auf...
Try and Error!
MfG, schachmat

5

03.09.2005, 19:45

Sorry weiß jetzt nimmer ich suche den Fehler noch weil ich den gefixten Code nimmer hab aber so weit ich mich erinnern kann trat der Fehler in einer Schleife auf.

6

03.09.2005, 20:09

sind ja zwei schleifen da oben drin^^ ;)
Try and Error!
MfG, schachmat

7

03.09.2005, 20:16

Ja es sind aber nicht die einzigen könne also auch ne andere sein ;)

8

03.09.2005, 20:40

jup, das wär auch möglich.

Falls Herr Scherfgen was weiß (was er eigendlich müsste, da er's geschrieben hat), kann er uns ja auch nen Hint geben.

Ich such auf jeden fall auch weiter....
Try and Error!
MfG, schachmat

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

04.09.2005, 10:56

Beschreib mal genauer, wann der Fehler auftritt. Nur bei Backspace oder auch bei Entf/Del?

10

04.09.2005, 12:10

Der Fehler tritt immer dann auf wenn sich der Cursor in dem Textfeld befindet und das Textfeld leer ist bzw. durch eine Löschaktion durch Bachspace/Entf leer wird.

Werbeanzeige