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

Anonymous

unregistriert

1

15.04.2005, 17:49

INI läst sich nicht laden. Debuger gibt keine infos!

Hi, also ich kann einfach keine INI mit der TriBase laden.
Ich hole mir den ganzen Pfad und kopiere dann den Namen meiner INI dazu. Sollte normalerweise funktionieren.
Doch wenn ich das Programm starte, kommt nur der Fehler, dass er nicht auf einen Speicherpunkt zugreifen kann.
Woran kann das liegen?

Quellcode

1
2
3
4
5
6
7
    char cDirectory[256];
    // Pfade zur Exe, damit INI gefunden werden kann.
    GetCurrentDirectory(256, cDirectory);

    strcat(cDirectory, "\\Data\\Lang.ini");
    // Pfad zur INI setzen
    m_INI->SetFilePath(cDirectory);


MfG

2

15.04.2005, 18:45

und wie ist es wenn du ihm mal statt getcurrentdirectory von hand nen path angibst? Funzt es dann?

Anonymous

unregistriert

3

15.04.2005, 20:40

nein, auch nicht.

4

15.04.2005, 21:28

Hast du vielleicht ein Schreibschutz?

Anonymous

unregistriert

5

15.04.2005, 21:39

Na, kein schreibschutz. Sonst ist auch níchts verändert worden

Anonymous

unregistriert

6

16.04.2005, 10:48

Problem gelöst, es lag an der Klasse tbINIReader.

Nun habe ich aber ein neues Problem.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
    char cDirectory[256];
    CLanguage* Lang;

    // Pfade zur Exe, damit INI gefunden werden kann.

    GetCurrentDirectory(256, cDirectory);
    strcat(cDirectory, "\\Data\\Lang.ini");
    Lang = new CLanguage;

    m_INI = new tbINIReader;
    // Pfad zur INI setzen

    m_INI->SetFilePath(cDirectory);
    // Strings Lesen

    m_INI->ReadINIString(pcLanguage, "Button1", Lang->m_acButton1, 256);


Nun kommt der Fehler das pcOut ein schlechtes PRT ist.
Woran liegt das nun schon wieder?
char* m_acButton1; So ist der Text in der Klasse definiert worden.

MfG

Anonymous

unregistriert

7

20.04.2005, 21:32

Habt ihr den keine Ahnung wie ich das zweite Problem lösen kann?
Bitte gebt wenigstens mal einen Tipp.
Danke

Anonymous

unregistriert

8

22.04.2005, 15:33

Das eine Problem ist gelöst aber nun schon wieder ein neues.

Ich weise einem Button bei Start einen Text zu.
Wenn der Benutzer nun diese Button drückt, soll auf einen anderen Button nicht mehr der Anfangswert stehen, sondern eine anderer Text, der aus einer Klasse geladen wurde.


C-/C++-Quelltext

1
2
    char    m_acButton1[256];
    char    m_acButton2[256];


Wenn ich dann folgendes Schreibe

C-/C++-Quelltext

1
    m_pGUI->CreateButton(101, 0, tb2DVector(500.0f, 250.0f), tb2DVector(270.0f, 30.0f), g_pText->m_acButton1);


Kommt jedes mal der Fehler, dass der Kopierversuch in der Engine nicht funktioniert hat.
Was kann ich da machen?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

9

22.04.2005, 17:29

Würde es einfach vorher kopieren.

Anonymous

unregistriert

10

22.04.2005, 18:10

Ich glaube ich habe das blöde erklärt.

In der Engine wird immer an dieser letzten Zeile ein Fehler aufgerufen

C-/C++-Quelltext

1
2
3
// Daten eintragen

    pButton = (tbGUIButton*)(pElement);
    strcpy(pButton->m_acText, pcText);



pcText ist dann immer ein schlechtes PRT

Liegt es daran, dass ich einem char* ein char[256] übergebe?
Oder wie?

Werbeanzeige