<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Was für die ::Hyper.Experten...Am verzweifeln :-(]]></title><description><![CDATA[<p>Hallo ich bin echt ratlos...ich hab in meinem Code irgend wo (hab schon ne Ahnung wo -zm. in etwa-) n' Fehler (Speicherverletzung: &quot;Access Violation&quot;, laut debugger)...und kann ihn nicht finden... Der der ihn findet bekommt und virtuelle Gummipunke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Aber mal ehrlich, wär echt klasse wenn ihr mir helfen könntet... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Hier also mein Code-Ausschnitt...wenn ihr noch mehr braucht einfach melden... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Die Klasse:<br />
CAppData.h</p>
<pre><code class="language-cpp">class CAppData
{
	/* -----------------------------------------------------------------------------*/
	private: /* -Declarations                                                       */
	/* -----------------------------------------------------------------------------*/
		struct IPlayback /* &lt;&lt; Wiedergabeoptionen */
		{
			bool		 fPaused;		/* Wiedergabe pausiert ?		*/
			bool		 fInit;			/* Mediendatei geladen ?		*/
			bool		 fLocalMute;	/* lokale Lautstärke gemutet ?	*/
			bool		 fGlobalMute;	/* globale Lautstärke gemutet ?	*/
			unsigned int uiLocalVol;	/* lokaler Lautstärke Wert		*/
			unsigned int uiGlobalVol;	/* globaler Lautstärke Wert		*/
			bool		 fRepeat;		/* Wiederholen (Repeat-Mode) ?	*/
			ERepeatModes rpRepMode;		/* Wiederholungsmodus (ENUM)	*/
			/* -------
			Sicherung: fLocalMute, uiLocalVol, fRepeat, rpRepMode
			----------*/
			bool		fSaved;			/* bereits in Datei gespeichert	*/
			SDataSetPos	dspDSetPos;		/* Position dieses Datensatzes	*/
		};

		struct IOptions /* &lt;&lt; Programmoptionen */
		{
			struct IStartup /* &lt;&lt; Programmstart-Einstellungen */
			{
				bool		fAutoStart;	/* beim Systemstart laden ?				*/
				bool		fStartMin;	/* Programm miniert starten ?			*/
				string		strKeyName;	/* Name des Registry-Eintrags			*/
				string		strKeyPath;	/* Registry-Wert (Pfad) von strKeyName	*/
				/* -------
				Sicherung: Alle
				----------*/
				bool		fSaved;		/* bereits in Datei gespeichert			*/
				SDataSetPos	dspDSetPos;	/* Position dieses Datensatzes			*/
			};
			// [&gt; TODO: Weitere Optionen implementieren
		};

		struct IInterface /* &lt;&lt; Fenstereinstellungen */
		{
			bool fPrstPaused;	/* Trackinformationscontrol pausiert ?	*/
			bool fTopmostWnd;	/* Hauptfenster immer im Vordergrund ?	*/
			/* -------
			Sicherung: Alle
			----------*/
			bool		fSaved;		/* bereits in Datei gespeichert	*/
			SDataSetPos	dspDSetPos;	/* Position dieses Datensatzes	*/
		};

		string	_strCfgPath;		/* Dateipfad zur Konfigurationsdatei	*/
		string	_strIdxPath;		/* Dateipfad zur Indexdatei				*/
		bool	_fDataSetsSaved;	/* Alle Datensätze gespeichert ?		*/
		bool	_fCfgFileCreated;	/* Konfigurationsdatei bereits erstellt	*/
		bool	_fIdxFileCreated;	/* Indexdatei bereits erstellt			*/

		// [&gt; TODO: Weiteres...
	/* -----------------------------------------------------------------------------*/
	public: /* -Declarations                                                        */
	/* -----------------------------------------------------------------------------*/
		CAppData	(void);
		~CAppData	(void);

		/************************************************************************\
		**
		** CAppData-Methoden:
		**
		*/
		bool	WriteToFile	(long lFileVer);

		/* Ändert den Speicherpfad zur Konfigurationsdatei						*/
		void			SetConfigPath	(const string&amp; strPath);
		/* Ändert den Speicherpfad zur Indexdatei								*/
		void			SetIndexPath	(const string&amp; strPath);
		/* Ermittelt den Speicherpfad zur Konfigurationsdatei					*/
		const string&amp;	GetConfigPath	(void);
		/* Ermittelt den Speicherpfad zur Indexdatei							*/
		const string&amp;	GetIndexPath	(void);
		// ...Hier folgen noch weitere Get und Set Methoden...
</code></pre>
<p>Hier n paar defs:<br />
ClassDefs.h</p>
<pre><code class="language-cpp">#ifndef TEXT
  #ifdef UNICODE
    #define TEXT(quote) L##quote
  #else
    #define TEXT(quote) quote
  #endif // UNICODE
#endif // TEXT
#define NO_TEXT	(TEXT(&quot;&quot;))

typedef enum
{
	RPM_NO_REPETITION,	/* keine Wiederholung				*/
	RPM_SINGLE,			/* nur einen Track wiederholen		*/
	RPM_ALL,			/* alle Tracks wiederholen			*/
	RPM_SINGLE_NTIMES,	/* einen Tracks n-Mal wiederholen	*/
	RPM_ALL_NTIMES,		/* alle Tracks n-Mal wiederholen	*/

	RPM_ENSURE_UINT_ENUM = UINT_MAX /* maximal unsigned int, diesen Wert nicht benutzen */

} ERepeatModes;

typedef struct
{
	unsigned long ulBegin;	/* Anfang des Datensatzes	*/
	unsigned long ulEnd;	/* Ende des Datensatzes		*/

} SDataSetPos;
</code></pre>
<p>und nun mein Problemkind/Code^^:<br />
CAppData.cpp:</p>
<pre><code class="language-cpp">bool CAppData::WriteToFile(long lFileVer)
{
	if(this-&gt;_strIdxPath.c_str() == NULL || this-&gt;_strCfgPath.c_str() == NULL)
		return (false);

	fstream	fsIdxFile,
			fsCfgFile;

	fsIdxFile.open(this-&gt;_strIdxPath.c_str(), ios::in | ios::out | ios::trunc | ios::binary);
	if(!fsIdxFile.is_open())
		return (false);

	fsCfgFile.open(this-&gt;_strCfgPath.c_str(), ios::in | ios::out | ios::trunc | ios::binary);
	if(!fsCfgFile.is_open())
		return (false);

	/* 
	 * Dateitags der Konfigurationsdatei (cfgData.gfx):
	 */
	const string strFTBeginCfgFile	 = TEXT(&quot;DEF_CFGDATA_GFX&quot;);
	const string strFTEndCfgFile	 = TEXT(&quot;CFGDATA_GFX_ENDDEF&quot;);
	const string strFTCfgBlockBegin	 = TEXT(&quot;#DATA_BLOCK_BEGIN#&quot;);
	const string strFTCfgBlockEnd	 = TEXT(&quot;#DATA_BLOCK_END#&quot;);
	/* 
	 * Dateitags der Indexdatei (idxPos.gfx):
	 */
	const string strFTBeginIdxFile	 = TEXT(&quot;DEF_IDXPOS_GFX&quot;);
	const string strFTEndIdxFile	 = TEXT(&quot;IDXPOS_GFX_ENDDEF&quot;);
	const string strFTIdxBlockBegin	 = TEXT(&quot;#DATAPOS_BLOCK_BEGIN#&quot;);
	const string strFTIdxBlockEnd	 = TEXT(&quot;#DATAPOS_BLOCK_END#&quot;);
	/* 
	 * Datei unabhängig:
	 */
	const string strFTFileVersion	 = TEXT(&quot;#FILE_VERSION#&quot;);
	const string strFTPlaybackBegin	 = TEXT(&quot;#IPLB_BLOCK_BEGIN#&quot;);
	const string strFTPlaybackEnd	 = TEXT(&quot;#IPLB_BLOCK_END#&quot;);
	const string strFTInterfaceBegin = TEXT(&quot;#IITF_BLOCK_BEGIN#&quot;);
	const string strFTInterfaceEnd	 = TEXT(&quot;#IITF_BLOCK_END#&quot;);
	const string strFTStartupBegin	 = TEXT(&quot;#ISTP_BLOCK_BEGIN#&quot;);
	const string strFTStartupEnd	 = TEXT(&quot;#ISTP_BLOCK_END#&quot;);

	/* 
	 * Erste zu verarbeitende Datei: CfgData.gfx (-&gt; fsCfgFile):
	 */
	fsCfgFile.write(strFTBeginCfgFile.c_str(), strFTBeginCfgFile.length());			// TAG: DEF_CFGDATA_GFX
	fsCfgFile.write(strFTFileVersion.c_str(), strFTFileVersion.length());			// TAG: #FILE_VERSION#
	// Dateiversion schreiben:
	fsCfgFile.write((char*)&amp;lFileVer, sizeof(long));								// Version: lFileVer
	fsCfgFile.write(strFTCfgBlockBegin.c_str(), strFTCfgBlockBegin.length());		// TAG: #DATA_BLOCK_BEGIN#
	fsCfgFile.write(strFTPlaybackBegin.c_str(), strFTPlaybackBegin.length());		// TAG: #IPLB_BLOCK_BEGIN#
	// Playback-Interface-Daten schreiben:
	this-&gt;IPlayback::dspDSetPos.ulBegin = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	// 1. fLocalMute (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::fLocalMute), sizeof(bool));			// fLocalMute: bool
	// 2. fRepeat (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::fRepeat), sizeof(bool));				// fRepeat: bool
	// 3. rpRepMode (ERepeatModes):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::rpRepMode), sizeof(ERepeatModes));	// rpRepMode: ERepeatModes
	// 4. uiLocalVol (unsigned int):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::uiLocalVol), sizeof(unsigned int));	// uiLocalVol: unsigned int
	if(!fsCfgFile.fail())
		this-&gt;IPlayback::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTPlaybackEnd.c_str(), strFTPlaybackEnd.length());			// TAG: #IPLB_BLOCK_END#
	fsCfgFile.write(strFTInterfaceBegin.c_str(), strFTInterfaceBegin.length());		// TAG: #IITF_BLOCK_BEGIN#
	// (Programm-)Interface-Interface-Daten schreiben:
	this-&gt;IInterface::dspDSetPos.ulBegin = fsCfgFile.tellp();
	// 1. fPrstPaused (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IInterface::fPrstPaused), sizeof(bool));			// fPrstPaused: bool
	// 2. fTopmostWnd (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IInterface::fTopmostWnd), sizeof(bool));			// fTopmostWnd: bool
	this-&gt;IInterface::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTInterfaceEnd.c_str(), strFTInterfaceEnd.length());			// TAG: #IITF_BLOCK_END#
	fsCfgFile.write(strFTStartupBegin.c_str(), strFTStartupBegin.length());			// TAG: #ISTP_BLOCK_BEGIN#
	// Startup-Interface-Daten schreiben:
	this-&gt;IOptions::IStartup::dspDSetPos.ulBegin = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	// 1. fAutoStart (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IOptions::IStartup::fAutoStart), sizeof(bool));	// fAutoStart: bool
	// 2. fStartMin (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IOptions::IStartup::fStartMin), sizeof(bool));	// fStartMin: bool
	this-&gt;IOptions::IStartup::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTStartupEnd.c_str(), strFTStartupEnd.length());				// TAG: #ISTP_BLOCK_END#
	fsCfgFile.write(strFTCfgBlockEnd.c_str(), strFTCfgBlockEnd.length());			// TAG: #DATA_BLOCK_END#
	fsCfgFile.write(strFTEndCfgFile.c_str(), strFTEndCfgFile.length());				// TAG: CFGDATA_GFX_ENDDEF
	fsCfgFile.close();

	// TODO: Index Datei schreiben...
	fsIdxFile.close();
	return (true);
}
</code></pre>
<p>tja und so rufe ich auf(also Test):<br />
main.cpp:</p>
<pre><code class="language-cpp">static CAppData cAppData;

	cAppData.SetIndexPath(&quot;C:\\idxPos.gfx&quot;);
	cAppData.SetConfigPath(&quot;C:\\cfgData.gfx&quot;);
	cAppData.WriteToFile(1015); // version 1015
</code></pre>
<p>Ich sagen schonmal vielen vielen Dank, wär echt super lieb, wenn sich das mal einer angucken könnte.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150712/was-für-die-hyper-experten-am-verzweifeln</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 01:28:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150712.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Jun 2006 16:50:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 16:50:45 GMT]]></title><description><![CDATA[<p>Hallo ich bin echt ratlos...ich hab in meinem Code irgend wo (hab schon ne Ahnung wo -zm. in etwa-) n' Fehler (Speicherverletzung: &quot;Access Violation&quot;, laut debugger)...und kann ihn nicht finden... Der der ihn findet bekommt und virtuelle Gummipunke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Aber mal ehrlich, wär echt klasse wenn ihr mir helfen könntet... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Hier also mein Code-Ausschnitt...wenn ihr noch mehr braucht einfach melden... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Die Klasse:<br />
CAppData.h</p>
<pre><code class="language-cpp">class CAppData
{
	/* -----------------------------------------------------------------------------*/
	private: /* -Declarations                                                       */
	/* -----------------------------------------------------------------------------*/
		struct IPlayback /* &lt;&lt; Wiedergabeoptionen */
		{
			bool		 fPaused;		/* Wiedergabe pausiert ?		*/
			bool		 fInit;			/* Mediendatei geladen ?		*/
			bool		 fLocalMute;	/* lokale Lautstärke gemutet ?	*/
			bool		 fGlobalMute;	/* globale Lautstärke gemutet ?	*/
			unsigned int uiLocalVol;	/* lokaler Lautstärke Wert		*/
			unsigned int uiGlobalVol;	/* globaler Lautstärke Wert		*/
			bool		 fRepeat;		/* Wiederholen (Repeat-Mode) ?	*/
			ERepeatModes rpRepMode;		/* Wiederholungsmodus (ENUM)	*/
			/* -------
			Sicherung: fLocalMute, uiLocalVol, fRepeat, rpRepMode
			----------*/
			bool		fSaved;			/* bereits in Datei gespeichert	*/
			SDataSetPos	dspDSetPos;		/* Position dieses Datensatzes	*/
		};

		struct IOptions /* &lt;&lt; Programmoptionen */
		{
			struct IStartup /* &lt;&lt; Programmstart-Einstellungen */
			{
				bool		fAutoStart;	/* beim Systemstart laden ?				*/
				bool		fStartMin;	/* Programm miniert starten ?			*/
				string		strKeyName;	/* Name des Registry-Eintrags			*/
				string		strKeyPath;	/* Registry-Wert (Pfad) von strKeyName	*/
				/* -------
				Sicherung: Alle
				----------*/
				bool		fSaved;		/* bereits in Datei gespeichert			*/
				SDataSetPos	dspDSetPos;	/* Position dieses Datensatzes			*/
			};
			// [&gt; TODO: Weitere Optionen implementieren
		};

		struct IInterface /* &lt;&lt; Fenstereinstellungen */
		{
			bool fPrstPaused;	/* Trackinformationscontrol pausiert ?	*/
			bool fTopmostWnd;	/* Hauptfenster immer im Vordergrund ?	*/
			/* -------
			Sicherung: Alle
			----------*/
			bool		fSaved;		/* bereits in Datei gespeichert	*/
			SDataSetPos	dspDSetPos;	/* Position dieses Datensatzes	*/
		};

		string	_strCfgPath;		/* Dateipfad zur Konfigurationsdatei	*/
		string	_strIdxPath;		/* Dateipfad zur Indexdatei				*/
		bool	_fDataSetsSaved;	/* Alle Datensätze gespeichert ?		*/
		bool	_fCfgFileCreated;	/* Konfigurationsdatei bereits erstellt	*/
		bool	_fIdxFileCreated;	/* Indexdatei bereits erstellt			*/

		// [&gt; TODO: Weiteres...
	/* -----------------------------------------------------------------------------*/
	public: /* -Declarations                                                        */
	/* -----------------------------------------------------------------------------*/
		CAppData	(void);
		~CAppData	(void);

		/************************************************************************\
		**
		** CAppData-Methoden:
		**
		*/
		bool	WriteToFile	(long lFileVer);

		/* Ändert den Speicherpfad zur Konfigurationsdatei						*/
		void			SetConfigPath	(const string&amp; strPath);
		/* Ändert den Speicherpfad zur Indexdatei								*/
		void			SetIndexPath	(const string&amp; strPath);
		/* Ermittelt den Speicherpfad zur Konfigurationsdatei					*/
		const string&amp;	GetConfigPath	(void);
		/* Ermittelt den Speicherpfad zur Indexdatei							*/
		const string&amp;	GetIndexPath	(void);
		// ...Hier folgen noch weitere Get und Set Methoden...
</code></pre>
<p>Hier n paar defs:<br />
ClassDefs.h</p>
<pre><code class="language-cpp">#ifndef TEXT
  #ifdef UNICODE
    #define TEXT(quote) L##quote
  #else
    #define TEXT(quote) quote
  #endif // UNICODE
#endif // TEXT
#define NO_TEXT	(TEXT(&quot;&quot;))

typedef enum
{
	RPM_NO_REPETITION,	/* keine Wiederholung				*/
	RPM_SINGLE,			/* nur einen Track wiederholen		*/
	RPM_ALL,			/* alle Tracks wiederholen			*/
	RPM_SINGLE_NTIMES,	/* einen Tracks n-Mal wiederholen	*/
	RPM_ALL_NTIMES,		/* alle Tracks n-Mal wiederholen	*/

	RPM_ENSURE_UINT_ENUM = UINT_MAX /* maximal unsigned int, diesen Wert nicht benutzen */

} ERepeatModes;

typedef struct
{
	unsigned long ulBegin;	/* Anfang des Datensatzes	*/
	unsigned long ulEnd;	/* Ende des Datensatzes		*/

} SDataSetPos;
</code></pre>
<p>und nun mein Problemkind/Code^^:<br />
CAppData.cpp:</p>
<pre><code class="language-cpp">bool CAppData::WriteToFile(long lFileVer)
{
	if(this-&gt;_strIdxPath.c_str() == NULL || this-&gt;_strCfgPath.c_str() == NULL)
		return (false);

	fstream	fsIdxFile,
			fsCfgFile;

	fsIdxFile.open(this-&gt;_strIdxPath.c_str(), ios::in | ios::out | ios::trunc | ios::binary);
	if(!fsIdxFile.is_open())
		return (false);

	fsCfgFile.open(this-&gt;_strCfgPath.c_str(), ios::in | ios::out | ios::trunc | ios::binary);
	if(!fsCfgFile.is_open())
		return (false);

	/* 
	 * Dateitags der Konfigurationsdatei (cfgData.gfx):
	 */
	const string strFTBeginCfgFile	 = TEXT(&quot;DEF_CFGDATA_GFX&quot;);
	const string strFTEndCfgFile	 = TEXT(&quot;CFGDATA_GFX_ENDDEF&quot;);
	const string strFTCfgBlockBegin	 = TEXT(&quot;#DATA_BLOCK_BEGIN#&quot;);
	const string strFTCfgBlockEnd	 = TEXT(&quot;#DATA_BLOCK_END#&quot;);
	/* 
	 * Dateitags der Indexdatei (idxPos.gfx):
	 */
	const string strFTBeginIdxFile	 = TEXT(&quot;DEF_IDXPOS_GFX&quot;);
	const string strFTEndIdxFile	 = TEXT(&quot;IDXPOS_GFX_ENDDEF&quot;);
	const string strFTIdxBlockBegin	 = TEXT(&quot;#DATAPOS_BLOCK_BEGIN#&quot;);
	const string strFTIdxBlockEnd	 = TEXT(&quot;#DATAPOS_BLOCK_END#&quot;);
	/* 
	 * Datei unabhängig:
	 */
	const string strFTFileVersion	 = TEXT(&quot;#FILE_VERSION#&quot;);
	const string strFTPlaybackBegin	 = TEXT(&quot;#IPLB_BLOCK_BEGIN#&quot;);
	const string strFTPlaybackEnd	 = TEXT(&quot;#IPLB_BLOCK_END#&quot;);
	const string strFTInterfaceBegin = TEXT(&quot;#IITF_BLOCK_BEGIN#&quot;);
	const string strFTInterfaceEnd	 = TEXT(&quot;#IITF_BLOCK_END#&quot;);
	const string strFTStartupBegin	 = TEXT(&quot;#ISTP_BLOCK_BEGIN#&quot;);
	const string strFTStartupEnd	 = TEXT(&quot;#ISTP_BLOCK_END#&quot;);

	/* 
	 * Erste zu verarbeitende Datei: CfgData.gfx (-&gt; fsCfgFile):
	 */
	fsCfgFile.write(strFTBeginCfgFile.c_str(), strFTBeginCfgFile.length());			// TAG: DEF_CFGDATA_GFX
	fsCfgFile.write(strFTFileVersion.c_str(), strFTFileVersion.length());			// TAG: #FILE_VERSION#
	// Dateiversion schreiben:
	fsCfgFile.write((char*)&amp;lFileVer, sizeof(long));								// Version: lFileVer
	fsCfgFile.write(strFTCfgBlockBegin.c_str(), strFTCfgBlockBegin.length());		// TAG: #DATA_BLOCK_BEGIN#
	fsCfgFile.write(strFTPlaybackBegin.c_str(), strFTPlaybackBegin.length());		// TAG: #IPLB_BLOCK_BEGIN#
	// Playback-Interface-Daten schreiben:
	this-&gt;IPlayback::dspDSetPos.ulBegin = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	// 1. fLocalMute (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::fLocalMute), sizeof(bool));			// fLocalMute: bool
	// 2. fRepeat (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::fRepeat), sizeof(bool));				// fRepeat: bool
	// 3. rpRepMode (ERepeatModes):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::rpRepMode), sizeof(ERepeatModes));	// rpRepMode: ERepeatModes
	// 4. uiLocalVol (unsigned int):
	fsCfgFile.write((char*)&amp;(this-&gt;IPlayback::uiLocalVol), sizeof(unsigned int));	// uiLocalVol: unsigned int
	if(!fsCfgFile.fail())
		this-&gt;IPlayback::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTPlaybackEnd.c_str(), strFTPlaybackEnd.length());			// TAG: #IPLB_BLOCK_END#
	fsCfgFile.write(strFTInterfaceBegin.c_str(), strFTInterfaceBegin.length());		// TAG: #IITF_BLOCK_BEGIN#
	// (Programm-)Interface-Interface-Daten schreiben:
	this-&gt;IInterface::dspDSetPos.ulBegin = fsCfgFile.tellp();
	// 1. fPrstPaused (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IInterface::fPrstPaused), sizeof(bool));			// fPrstPaused: bool
	// 2. fTopmostWnd (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IInterface::fTopmostWnd), sizeof(bool));			// fTopmostWnd: bool
	this-&gt;IInterface::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTInterfaceEnd.c_str(), strFTInterfaceEnd.length());			// TAG: #IITF_BLOCK_END#
	fsCfgFile.write(strFTStartupBegin.c_str(), strFTStartupBegin.length());			// TAG: #ISTP_BLOCK_BEGIN#
	// Startup-Interface-Daten schreiben:
	this-&gt;IOptions::IStartup::dspDSetPos.ulBegin = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	// 1. fAutoStart (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IOptions::IStartup::fAutoStart), sizeof(bool));	// fAutoStart: bool
	// 2. fStartMin (bool):
	fsCfgFile.write((char*)&amp;(this-&gt;IOptions::IStartup::fStartMin), sizeof(bool));	// fStartMin: bool
	this-&gt;IOptions::IStartup::dspDSetPos.ulEnd = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
	fsCfgFile.write(strFTStartupEnd.c_str(), strFTStartupEnd.length());				// TAG: #ISTP_BLOCK_END#
	fsCfgFile.write(strFTCfgBlockEnd.c_str(), strFTCfgBlockEnd.length());			// TAG: #DATA_BLOCK_END#
	fsCfgFile.write(strFTEndCfgFile.c_str(), strFTEndCfgFile.length());				// TAG: CFGDATA_GFX_ENDDEF
	fsCfgFile.close();

	// TODO: Index Datei schreiben...
	fsIdxFile.close();
	return (true);
}
</code></pre>
<p>tja und so rufe ich auf(also Test):<br />
main.cpp:</p>
<pre><code class="language-cpp">static CAppData cAppData;

	cAppData.SetIndexPath(&quot;C:\\idxPos.gfx&quot;);
	cAppData.SetConfigPath(&quot;C:\\cfgData.gfx&quot;);
	cAppData.WriteToFile(1015); // version 1015
</code></pre>
<p>Ich sagen schonmal vielen vielen Dank, wär echt super lieb, wenn sich das mal einer angucken könnte.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080761</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 16:50:45 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 16:55:35 GMT]]></title><description><![CDATA[<p>Expertensucher schrieb:</p>
<blockquote>
<p>Hallo ich bin echt ratlos...ich hab in meinem Code irgend wo (hab schon ne Ahnung wo -zm. in etwa-) n' Fehler (Speicherverletzung: &quot;Access Violation&quot;, laut debugger)...und kann ihn nicht finden... Der der ihn findet bekommt und virtuelle Gummipunke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Was ist ne Gummipunke? Punkte oder Puppe? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Aber ich eigentlich will ich beides nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Wenn du den Debugger richtig benutzt solltest du doch schnell rausfinden wo, einfach mal Schritt für Schritt durchgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080768</guid><dc:creator><![CDATA[Bitte geben Sie einen Ben]]></dc:creator><pubDate>Mon, 19 Jun 2006 16:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 17:00:55 GMT]]></title><description><![CDATA[<p>hmm der debugger ja...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080773</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 17:04:49 GMT]]></title><description><![CDATA[<p>Bitte geben Sie einen Ben schrieb:</p>
<blockquote>
<p>Expertensucher schrieb:</p>
<blockquote>
<p>Hallo ich bin echt ratlos...ich hab in meinem Code irgend wo (hab schon ne Ahnung wo -zm. in etwa-) n' Fehler (Speicherverletzung: &quot;Access Violation&quot;, laut debugger)...und kann ihn nicht finden... Der der ihn findet bekommt und virtuelle Gummipunke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Was ist ne Gummipunke? Punkte oder Puppe? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Aber ich eigentlich will ich beides nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Wenn du den Debugger richtig benutzt solltest du doch schnell rausfinden wo, einfach mal Schritt für Schritt durchgehen.</p>
</blockquote>
<p>hmm LOL, jo mein natürlich GummipunkTe... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> also der Debugger führt mich zu einer Datei XSTRING</p>
<p>hier mal der Ausschnitt:</p>
<pre><code class="language-cpp">void _Freeze()
		{if (_Ptr != 0
			&amp;&amp; _Refcnt(_Ptr) != 0 &amp;&amp; _Refcnt(_Ptr) != _FROZEN)
			_Grow(_Len);
		if (_Ptr != 0)
			_Refcnt(_Ptr) = _FROZEN; }
	bool _Grow(size_type _N, bool _Trim = false)
		{if (max_size() &lt; _N)
			_Xlen();
		if (_Ptr != 0
			&amp;&amp; _Refcnt(_Ptr) != 0 &amp;&amp; _Refcnt(_Ptr) != _FROZEN)
			if (_N == 0)
				{--_Refcnt(_Ptr), _Tidy();
				return (false); }
			else
				{_Copy(_N);
				return (true); }
		if (_N == 0)
			{if (_Trim)
				_Tidy(true);
			else if (_Ptr != 0)
				_Eos(0);
			return (false); }
		else
			{if (_Trim &amp;&amp; (_MIN_SIZE &lt; _Res || _Res &lt; _N))
				{_Tidy(true);
				_Copy(_N); }
			else if (!_Trim &amp;&amp; _Res &lt; _N)
				_Copy(_N);
			return (true); }}
	static const _E * __cdecl _Nullstr()
		{static const _E _C = _E(0);
		return (&amp;_C); }
	static size_type _Pdif(const_pointer _P2, const_pointer _P1)
		{return (_P2 == 0 ? 0 : _P2 - _P1); }
	static const_pointer _Psum(const_pointer _P, size_type _N)
		{return (_P == 0 ? 0 : _P + _N); }
	static pointer _Psum(pointer _P, size_type _N)
		{return (_P == 0 ? 0 : _P + _N); }
	unsigned char&amp; _Refcnt(const _E *_U)
		{return (((unsigned char *)_U)[-1]); }
	void _Split()
		{if (_Ptr != 0 &amp;&amp; _Refcnt(_Ptr) != 0 &amp;&amp; _Refcnt(_Ptr) != _FROZEN)
			{_E *_Temp = _Ptr;
			_Tidy(true);
			assign(_Temp); }}
	void _Tidy(bool _Built = false)
		{if (!_Built || _Ptr == 0)
			;
		else if (_Refcnt(_Ptr) == 0 || _Refcnt(_Ptr) == _FROZEN) // hier markiert der Debugger den Code mit einem gelben Pfeil
			allocator.deallocate(_Ptr - 1, _Res + 2);
		else
			--_Refcnt(_Ptr);
		_Ptr = 0, _Len = 0, _Res = 0; }
	_E *_Ptr;
	size_type _Len, _Res;
	};
template&lt;class _E, class _Tr, class _A&gt;
	const basic_string&lt;_E, _Tr, _A&gt;::size_type
		basic_string&lt;_E, _Tr, _A&gt;::npos = -1;

#ifdef	_DLL
#pragma warning(disable:4231) /* the extern before template is a non-standard extension */
</code></pre>
<p>Ich habe echt nicht die geringste Idee was das soll *am verzweifeln sei* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080781</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:04:49 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 17:28:45 GMT]]></title><description><![CDATA[<p>Dann mach halt mal einen Backtrace und schau in welcher <em>deiner</em> Programmzeilen das ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080801</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:28:45 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 17:47:43 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Dann mach halt mal einen Backtrace und schau in welcher <em>deiner</em> Programmzeilen das ist.</p>
</blockquote>
<p>Huh?!, Was ist denn ein Backtrace...bzw. wie setz ich den ?...danke erstmal für deine Antwort! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080821</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 17:56:27 GMT]]></title><description><![CDATA[<p>Siehst du in deinem Debugger keinen Call-Stack!? Dann müstest du eigentlich sehen, welche Zeile in <strong>deinen</strong> Dateien den Fehlerhaften Aufruf erzeugt!?</p>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080829</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 18:24:40 GMT]]></title><description><![CDATA[<p>also wenn mit Call Stack die Aufrufliste gemeint ist, dann markiert mir der Compiler folgendes (in der besagten Aufrufliste):</p>
<blockquote>
<p>std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;::_Tidy(unsigned char 1) line 590 + 19 bytes</p>
</blockquote>
<p>PS: DAnke für Unterstützung! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080845</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 18:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 18:31:03 GMT]]></title><description><![CDATA[<p>main()<br />
funktion()<br />
unterfunktion() &lt;- Hier schauen, wo in deinem Code der Fehler auftritt.<br />
LIB-funktion1()<br />
LIB-funktion2()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080852</guid><dc:creator><![CDATA[Callstack:]]></dc:creator><pubDate>Mon, 19 Jun 2006 18:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 18:38:54 GMT]]></title><description><![CDATA[<p>Hi, danke erstmal...<br />
Wie komme ich denn dahin ?</p>
<p>PS: Hab MV C++ 6.0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080859</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 18:38:54 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 18:46:26 GMT]]></title><description><![CDATA[<p>Es gibt da links unten (bei mir) ein Fenster mit ner Combobox &quot;Kontext&quot;, in der steht der aktuelle Funktionsname, einfach aufklappen und klicken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080866</guid><dc:creator><![CDATA[hvjb]]></dc:creator><pubDate>Mon, 19 Jun 2006 18:46:26 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 19:12:07 GMT]]></title><description><![CDATA[<p>hm, danke...habs: da steht:</p>
<blockquote>
<p>std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;::_Tidy(unsigned char 1) line 590 + 19 bytes<br />
std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;::~basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt;() line 59 + 39 bytes<br />
CAppData::~CAppData() line 84 + 26 bytes<br />
$E26() + 34 bytes<br />
doexit(int 0, int 0, int 0) line 353<br />
exit(int 0) line 279 + 13 bytes<br />
mainCRTStartup() line 212<br />
KERNEL32! 7c816d4f()</p>
</blockquote>
<p>ABer emmm: was heißt das jez ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080900</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 19:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 19:24:29 GMT]]></title><description><![CDATA[<p>Das heißt, dass der CAppData Destruktor der Bösewicht ist. Zeig den mal her.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080913</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Jun 2006 19:24:29 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 19:32:59 GMT]]></title><description><![CDATA[<p>Jo kein Problem...nur der ist sehr...simple^^:</p>
<pre><code class="language-cpp">CAppData::~CAppData(void)
{
	// --&gt; [none]
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1080927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080927</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 19:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Mon, 19 Jun 2006 20:05:58 GMT]]></title><description><![CDATA[<p>Kannst du mir noch helfen....bitte!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080971</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Mon, 19 Jun 2006 20:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 10:58:52 GMT]]></title><description><![CDATA[<p>Wenn du dort nichts eingetragen hast, ist der Destruktor noch lange nicht &quot;leer&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> - von dort aus werden noch die D'toren der Class-Elemente aufgerufen. Und offenbar hast du in deiner Arbeit einen der beiden Strings zerschossen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081282</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 20 Jun 2006 10:58:52 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 11:34:26 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Wie kann man den einen Strng 'zerschießen' ? ...Hab ich das irg wo gemacht (siehe erstes CodePosting) ?</p>
<p>und Danke für deine Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081320</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Tue, 20 Jun 2006 11:34:26 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 11:39:54 GMT]]></title><description><![CDATA[<p>du könntest im destruktor einen breakpoint setzen und dir dort den zustand des objekts anzeigen lassen. das wäre dann unmittelbar vor der absturzstelle. aus dem zustand des objekts kann man dann möglicherweise auf die fehlerursache schließen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081330</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 20 Jun 2006 11:39:54 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 11:40:12 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">this-&gt;IPlayback::dspDSetPos.ulBegin = static_cast&lt;unsigned long&gt;(fsCfgFile.tellp());
</code></pre>
</blockquote>
<p>Bist du sicher, daß so etwas durch den Compiler kommt? Du hast dort ein paar struct's definiert, aber ich sehe nirgends ein Objekt von Typ &quot;IPlayBack&quot;. (und selbst wenn diese Zeile durch den Compiler kommt, sieht sie extrem ungesund aus)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081331</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 20 Jun 2006 11:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 11:59:36 GMT]]></title><description><![CDATA[<p>dass der compiler das annimmt, ist allerdings verwunderlich. IPlayback::dspDSetPos ist kein member von CAppData. es stellt sich sowieso die frage, welche mögliche bedeutung das haben sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081348</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 20 Jun 2006 11:59:36 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 14:59:48 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>du könntest im destruktor einen breakpoint setzen und dir dort den zustand des objekts anzeigen lassen.</p>
</blockquote>
<p>Hab ich, mit diesem (interessanten) Ergebnis:</p>
<pre><code class="language-cpp">string _strCfgPath = &quot;&quot;; /* oho?, nix? */
string _strIdxPath = &quot;C:\\idxPos.gfx&quot;; /* ok! */
</code></pre>
<p>_______________________________________________________</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>aber ich sehe nirgends ein Objekt von Typ &quot;IPlayBack&quot;</p>
</blockquote>
<p>Das müsste doch von der Deklaration verdeckt werden oder nicht ?</p>
<p>_______________________________________________________</p>
<p>camper schrieb:</p>
<blockquote>
<p>dass der compiler das annimmt, ist allerdings verwunderlich. IPlayback::dspDSetPos ist kein member von CAppData.</p>
</blockquote>
<p>Wieso? IPlayback::dspDSetPos ist doch ein member von CAppData...siehe hier:</p>
<pre><code class="language-cpp">struct IPlayback /* &lt;&lt; Wiedergabeoptionen */
        {
            bool         fPaused;        /* Wiedergabe pausiert ?        */
            bool         fInit;            /* Mediendatei geladen ?        */
            bool         fLocalMute;    /* lokale Lautstärke gemutet ?    */
            bool         fGlobalMute;    /* globale Lautstärke gemutet ?    */
            unsigned int uiLocalVol;    /* lokaler Lautstärke Wert        */
            unsigned int uiGlobalVol;    /* globaler Lautstärke Wert        */
            bool         fRepeat;        /* Wiederholen (Repeat-Mode) ?    */
            ERepeatModes rpRepMode;        /* Wiederholungsmodus (ENUM)    */
            /* -------
            Sicherung: fLocalMute, uiLocalVol, fRepeat, rpRepMode
            ----------*/
            bool        fSaved;            /* bereits in Datei gespeichert    */
            SDataSetPos    dspDSetPos;        /* VOILA! ;)    */
        };
</code></pre>
<p>Danke nochmal/schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> für eure Hilfe, echt nett <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081508</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Tue, 20 Jun 2006 14:59:48 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 15:04:21 GMT]]></title><description><![CDATA[<p>Expertensucher schrieb:</p>
<blockquote>
<p>Wieso? IPlayback::dspDSetPos ist doch ein member von CAppData...siehe hier:</p>
</blockquote>
<p>Nein, dspDSetPos ist ein Member von IPlayback, und IPlayback ist garkein Objekt sondern ein Typ. Dieser Typ existiert im Scope der Klasse CAppData (Du könntest mit CAppData::IPlayback myPlayback; ein Objekt davon erzeugen). Einen Member vom Typ IPlayback gibt es jedoch garnicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081510</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 20 Jun 2006 15:04:21 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 15:26:50 GMT]]></title><description><![CDATA[<p>Hi,<br />
Könntest du mir das:</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>(Du könntest mit CAppData::IPlayback myPlayback; ein Objekt davon erzeugen)</p>
</blockquote>
<p>mal daran:</p>
<pre><code class="language-cpp">class CAppData
{
    /* -----------------------------------------------------------------------------*/
    private: /* -Declarations                                                       */
    /* -----------------------------------------------------------------------------*/
        struct IPlayback /* &lt;&lt; Wiedergabeoptionen */
        {
            bool         fPaused;        /* Wiedergabe pausiert ?        */
            bool         fInit;            /* Mediendatei geladen ?        */
            bool         fLocalMute;    /* lokale Lautstärke gemutet ?    */
            bool         fGlobalMute;    /* globale Lautstärke gemutet ?    */
            unsigned int uiLocalVol;    /* lokaler Lautstärke Wert        */
            unsigned int uiGlobalVol;    /* globaler Lautstärke Wert        */
            bool         fRepeat;        /* Wiederholen (Repeat-Mode) ?    */
            ERepeatModes rpRepMode;        /* Wiederholungsmodus (ENUM)    */
            /* -------
            Sicherung: fLocalMute, uiLocalVol, fRepeat, rpRepMode
            ----------*/
            bool        fSaved;            /* bereits in Datei gespeichert    */
            SDataSetPos    dspDSetPos;        /* Position dieses Datensatzes    */
        };

        struct IOptions /* &lt;&lt; Programmoptionen */
        {
            struct IStartup /* &lt;&lt; Programmstart-Einstellungen */
            {
                bool        fAutoStart;    /* beim Systemstart laden ?                */
                bool        fStartMin;    /* Programm miniert starten ?            */
                string        strKeyName;    /* Name des Registry-Eintrags            */
                string        strKeyPath;    /* Registry-Wert (Pfad) von strKeyName    */
                /* -------
                Sicherung: Alle
                ----------*/
                bool        fSaved;        /* bereits in Datei gespeichert            */
                SDataSetPos    dspDSetPos;    /* Position dieses Datensatzes            */
            };
            // [&gt; TODO: Weitere Optionen implementieren
        };

        struct IInterface /* &lt;&lt; Fenstereinstellungen */
        {
            bool fPrstPaused;    /* Trackinformationscontrol pausiert ?    */
            bool fTopmostWnd;    /* Hauptfenster immer im Vordergrund ?    */
            /* -------
            Sicherung: Alle
            ----------*/
            bool        fSaved;        /* bereits in Datei gespeichert    */
            SDataSetPos    dspDSetPos;    /* Position dieses Datensatzes    */
        };

        string    _strCfgPath;        /* Dateipfad zur Konfigurationsdatei    */
        string    _strIdxPath;        /* Dateipfad zur Indexdatei                */
        bool    _fDataSetsSaved;    /* Alle Datensätze gespeichert ?        */
        bool    _fCfgFileCreated;    /* Konfigurationsdatei bereits erstellt    */
        bool    _fIdxFileCreated;    /* Indexdatei bereits erstellt            */

        // [&gt; TODO: Weiteres...
    /* -----------------------------------------------------------------------------*/
    public: /* -Declarations                                                        */
    /* -----------------------------------------------------------------------------*/
</code></pre>
<p>zeigen ?, bitte *schöne-Augen-mach* ^^</p>
<p>Weiß nämlich nicht genau wie ich das deklarieren soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081518</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Tue, 20 Jun 2006 15:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 16:22:09 GMT]]></title><description><![CDATA[<p>ein objekt definierst du so:</p>
<pre><code class="language-cpp">T name;
</code></pre>
<p>wobei T irgendein typ ist und name evtl. noch mit deklaratoren ([] * () &amp;) dekoriert wird (das ergebnis muss ein vollständiger typ sein). es ist dabei möglich, den typ erst in der variablendefinition zu definieren, also z.B.:</p>
<pre><code class="language-cpp">struct T { /* ... */ } name;
</code></pre>
<p>tatsächlich ist die übliche form der klassendefinition nichts weiter als eine variablendefinition, die keine variable definiert:</p>
<pre><code class="language-cpp">struct T { /* ... */ };
</code></pre>
<p>umkehrt kannst du z.B. in diesem fall auch darauf verzichten, der klasse einen namen zu geben (vorausgesetzt, du brauchst ihn nicht noch einmal):</p>
<pre><code class="language-cpp">struct { /* ... */ } name;
</code></pre>
<p>hier ist der typ selbst unbenannt.</p>
<p>jetzt sollte auch klar sein, warum man die klassendefinition immer mit semikolon abschließen muss, während das bei funktionsdefinitionen unnötig ist.</p>
<p>schau auch mal hier rein:<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-150636.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-150636.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081543</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 20 Jun 2006 16:22:09 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 17:21:30 GMT]]></title><description><![CDATA[<p>Hi nochmal....hab mal ne Frage am Rande:...Geht das denn ? (wg Speicherreservierung):</p>
<pre><code class="language-cpp">fsCfgFile.write(strFTBeginCfgFile.c_str(), strFTBeginCfgFile.length());
</code></pre>
<p>? thx schomah^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081562</guid><dc:creator><![CDATA[Expertensucher]]></dc:creator><pubDate>Tue, 20 Jun 2006 17:21:30 GMT</pubDate></item><item><title><![CDATA[Reply to Was für die ::Hyper.Experten...Am verzweifeln :-( on Tue, 20 Jun 2006 21:32:44 GMT]]></title><description><![CDATA[<p>Das sollte gehen. Ich hoffe, du speicherst auch die Länge des Strings mit ab, sonst wird das mit dem Einlesen schwierig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1081724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1081724</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 20 Jun 2006 21:32:44 GMT</pubDate></item></channel></rss>