Seite 106 von 180 ErsteErste ... 65696102103104105106107108109110116156 ... LetzteLetzte
Ergebnis 1.576 bis 1.590 von 2699

Thema: Der SDK-Fragen-Thread

  1. #1576
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Bislang habe ich es über die Verknüpfung gestartet, im Moment starte ich über den Pfeil.

  2. #1577
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Über den Pfeil dauert es besonders lange.

  3. #1578
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Ich bekomme folgenden Aufrufstack:

    > CvGameCoreDLL.dll!CProfileScope::~CProfileScope() Zeile 59 C++
    CvGameCoreDLL.dll!CvXMLLoadUtility::CreateFXml() Zeile 47 + 0x16 Bytes C++
    CvGameCoreDLL.dll!CvXMLLoadUtility::LoadPlayerOptions() Zeile 2579 + 0x8 Bytes C++
    Civ4BeyondSword.exe!00409246()
    [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für Civ4BeyondSword.exe]
    msvcr71.dll!7c34218a()
    ntdll.dll!77bb9f45()
    Civ4BeyondSword.exe!00790074()
    Civ4BeyondSword.exe!00790074()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0078006f()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0069006c()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064005f()
    Civ4BeyondSword.exe!0064005f()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0075006c()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0073005f()
    Civ4BeyondSword.exe!0073005f()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064002e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Civ4BeyondSword.exe!0064006e()
    Code:
    class CProfileScope
    {
    public:
    	CProfileScope() { bValid= false;};
    	CProfileScope(ProfileSample *pSample)
    	{
    		m_pSample = pSample;
    		bValid = true;
    		gDLL->BeginSample(m_pSample);
    	};
    	~CProfileScope()
    	{
    		if(bValid )
    		{
    			gDLL->EndSample(m_pSample);
    			bValid = false;
    		}	
    	};
    
    private:
    	bool bValid;
    	ProfileSample *m_pSample;
    };
    Code:
    bool CvXMLLoadUtility::CreateFXml()
    {
    	PROFILE("CreateFXML");
    	try
    	{
    		m_pFXml = gDLL->getXMLIFace()->CreateFXml(m_pSchemaCache);
    	}
    	catch(...)
    	{
    		char	szMessage[512];
    		sprintf( szMessage, "Caught unhandled exception creating XML parser object \n Current XML file is: %s", GC.getCurrentXMLFile().GetCString());
    		gDLL->MessageBox( szMessage, "Loading Error" );
    		return false;
    	}
    	return true;
    }
    Code:
    DllExport bool CvXMLLoadUtility::LoadPlayerOptions()
    {
    	if (!CreateFXml())
    		return false;
    
    	LoadGlobalClassInfo(GC.getPlayerOptionInfo(), "CIV4PlayerOptionInfos", "GameInfo", "Civ4PlayerOptionInfos/PlayerOptionInfos/PlayerOptionInfo", false);
    	FAssert(GC.getNumPlayerOptionInfos() == NUM_PLAYEROPTION_TYPES);
    
    	DestroyFXml();
    	return true;
    }
    Sagt das irgend etwas aus?

  4. #1579
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Das Problem sieht nicht umbedingt so aus, als wäre es im obigen Zusammehang.

    Was für ein Fehler ist es überhaupt? Dazu hast du nichts geschrieben. Wenn keine Fehlermeldung vorliegt, weiß ich doch nicht , was dein Problem ist.

  5. #1580
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Das Problem ist, dass nichts passiert. Das Spiel beendet das Laden einfach. Der Fehler muss aus dem neuen Code stammen oder mit ihm zusammenhängen, denn vorher lief das Spiel einfandfrei. Die Fehlermeldung an sich hat das Computer leider viel zu schnell weggeklickt (er hat eine Eingabe für ein anderes Programm als Wegklicken interpretiert), so dass ich sie nicht angeben kann. Ich hatte gehofft, dass der Stack irgendwie weiterführt bei der Suche.

    Wenn ich "Weiter" auswähle, kommt dieser Fehler:
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    Es wird dann wieder der selbe Stack aufgezeigt. Daher denke ich, dass das auch eben die Fehlermeldung war.

  6. #1581
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Wenn ich weiter auf "Weiter" klicke, kommen Fehler zur Anzahl der Spieloptionen. Die habe ich aber gar nicht verändert. Können aber auch Folgefehler zum ersten Fehler sein.

  7. #1582
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Kannst du mir mal deinen Code schicken? Testen werde ich es wohl mangels anderer Dateien wohl nicht können.

  8. #1583
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Danach kommt:
    Unbehandelte Ausnahme bei 0x616e5c09 in Civ4BeyondSword.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x616e5c09.
    Stack:
    616e5c09()
    > CvGameCoreDLL.dll!CvXMLLoadUtility::LoadCivXml(FXml * pFXml=0x00277018, const char * szFilename=0xcccccccc) Zeile 366 + 0x55 Bytes C++
    0018ec08()
    Code:
    bool CvXMLLoadUtility::LoadCivXml(FXml* pFXml, const TCHAR* szFilename)
    {
    	char szLog[256];
    	sprintf(szLog, "LoadCivXml (%s)", szFilename);
    	PROFILE(szLog);
    	OutputDebugString(szLog);
    	OutputDebugString("\n");
    
    	CvString szPath = szFilename;
    	CvString fsFilename = szFilename;
    
    	if (!gDLL->fileManagerEnabled())
    	{
    		szPath = "Assets//" + szPath;
    	}
    
    	logMsg("Loading XML file %s\n", szPath.c_str());
    
    	if (!gDLL->getXMLIFace()->LoadXml(pFXml, szPath))
    	{
    		logMsg("Load XML file %s FAILED\n", szPath.c_str());
    		return false;
    	}
    
    	logMsg("Load XML file %s SUCCEEDED\n", szPath.c_str());
    	GC.setCurrentXMLFile(szFilename);
    	return true;	// success
    }

  9. #1584
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Folgefehler, daraus kann man nicht wirklich was schließen.

  10. #1585
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.023
    Hier sind alle Daten, xml (betroffen von den Änderungen sind in erster Linie das GameInfoSchema und die EraInfo.xml) und Python habe ich gleich hinzugefügt.
    Angehängte Dateien Angehängte Dateien
    Geändert von Kathy (06. Juni 2014 um 21:14 Uhr)

  11. #1586
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Es wäre gut, wenn du eine gewisse Homogenität hättest.

    //Kathy Beginn Mercenary Era

    //Kathy Mercenary Era Beginn

    Macht es leichter, alles abzusuchen.

  12. #1587
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Ich konnte das gleiche Problem feststellen, aber:

    Code:
    Name der fehlerhaften Anwendung: Civ4BeyondSword.exe, Version: 3.1.9.0, Zeitstempel: 0x4a0c27e6
    Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 6.1.7601.18409, Zeitstempel: 0x53159a86
    Ausnahmecode: 0x80000003
    Fehleroffset: 0x00013226
    ID des fehlerhaften Prozesses: 0x184c
    Startzeit der fehlerhaften Anwendung: 0x01cf7b57ddaedc39
    Pfad der fehlerhaften Anwendung: C:\Spiele\Sid Meier's Civilization 4 Complete\Beyond the Sword\Civ4BeyondSword.exe
    Pfad des fehlerhaften Moduls: C:\Windows\syswow64\KERNELBASE.dll
    Berichtskennung: 4712bf08-e74b-11e3-a2ff-ac220bcd396f
    Findet man unter Systemsteuerung -> Verwaltung -> Ereignisanzeige -> Windows-Protokolle -> Anwendung.

  13. #1588
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Code:
    bool CvXMLLoadUtility::LoadPreMenuGlobals()
    {
    	if (!CreateFXml())
    	{
    		return false;
    	}
    
    	LoadGlobalClassInfo(GC.getGameSpeedInfo(), "CIV4GameSpeedInfo", "GameInfo", "Civ4GameSpeedInfo/GameSpeedInfos/GameSpeedInfo", false);
    	LoadGlobalClassInfo(GC.getTurnTimerInfo(), "CIV4TurnTimerInfo", "GameInfo", "Civ4TurnTimerInfo/TurnTimerInfos/TurnTimerInfo", false);
    	LoadGlobalClassInfo(GC.getWorldInfo(), "CIV4WorldInfo", "GameInfo", "Civ4WorldInfo/WorldInfos/WorldInfo", false);
    	LoadGlobalClassInfo(GC.getClimateInfo(), "CIV4ClimateInfo", "GameInfo", "Civ4ClimateInfo/ClimateInfos/ClimateInfo", false);
    	LoadGlobalClassInfo(GC.getSeaLevelInfo(), "CIV4SeaLevelInfo", "GameInfo", "Civ4SeaLevelInfo/SeaLevelInfos/SeaLevelInfo", false);
    	LoadGlobalClassInfo(GC.getAdvisorInfo(), "CIV4AdvisorInfos", "Interface", "Civ4AdvisorInfos/AdvisorInfos/AdvisorInfo", false);
    	LoadGlobalClassInfo(GC.getTerrainInfo(), "CIV4TerrainInfos", "Terrain", "Civ4TerrainInfos/TerrainInfos/TerrainInfo", false);
    	LoadGlobalClassInfo(GC.getEraInfo(), "CIV4EraInfos", "GameInfo", "Civ4EraInfos/EraInfos/EraInfo", false);
    	LoadGlobalClassInfo(GC.getUnitClassInfo(), "CIV4UnitClassInfos", "Units", "Civ4UnitClassInfos/UnitClassInfos/UnitClassInfo", false);
    An der roten Stelle habe ich einen Haltepunkt platziert und dieser wird nicht erreicht. Das Problem hat nichts mit deiner obigen Codeänderungen direkt zu tun.

    Dieser Haltepunkt hätte sonst erreicht werden müssen.

    Debuggausgabe:

    Code:
    DLL Load:Mods\Kathys Werkstatt-Mod\Assets\CvGameCoreDLL.dll
    "Civ4BeyondSword.exe": "C:\Spiele\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\Kathys Werkstatt-Mod\Assets\CvGameCoreDLL.dll" geladen, Symbole wurden geladen.
    DLL_PROCESS_ATTACH
    "Civ4BeyondSword.exe": "C:\Windows\SysWOW64\msxml3.dll" geladen, Cannot find or open the PDB file
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    
    
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    
    
    LoadCivXml (xml\GameInfo/CIV4PlayerOptionInfos.xml)
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    
    
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    
    
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    
    
    Eine Ausnahme (erste Chance) bei 0x616e5c09 in Civ4BeyondSword.exe: 0xC0000005: Access violation.
    Unbehandelte Ausnahme bei 0x616e5c09 in Civ4BeyondSword.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x616e5c09.


    edit: Kathy: Hast du funktionierenden Code gesichert, der nicht so alt ist?

    Alle: Kann es an was anderen liegen? XML oder Python?
    Geändert von rucivfan (29. Mai 2014 um 18:52 Uhr)

  14. #1589
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Zitat Zitat von Kathy Beitrag anzeigen
    Code:
    bool CvXMLLoadUtility::CreateFXml()
    {
    	PROFILE("CreateFXML");
    	try
    	{
    		m_pFXml = gDLL->getXMLIFace()->CreateFXml(m_pSchemaCache);
    	}
    	catch(...)
    	{
    		char	szMessage[512];
    		sprintf( szMessage, "Caught unhandled exception creating XML parser object \n Current XML file is: %s", GC.getCurrentXMLFile().GetCString());
    		gDLL->MessageBox( szMessage, "Loading Error" );
    		return false;
    	}
    	return true;
    }
    Das grüne ließt ein XML-Schema ein. Es kann an der Schemaänderung liegen.

    Das rote wäre erst der nächste Aufruf gewesen.

  15. #1590
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.017
    Code:
    Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
    Die obige Fehlermeldung bedeutet wohl, dass der Stack kaputt ist. Irgend eine XML-Datei kann dafür verantwortlich sein.
    Geändert von rucivfan (29. Mai 2014 um 19:34 Uhr)

Seite 106 von 180 ErsteErste ... 65696102103104105106107108109110116156 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •