|
You last visited: Today at 11:19
Advertisement
Class fehler + Dir holen
Discussion on Class fehler + Dir holen within the C/C++ forum part of the Coders Den category.
06/14/2014, 16:43
|
#1
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Class fehler + Dir holen
Hallo,
ich habe 1 Problem und 1 Frage.
Problem:
Ich habe eine Klasse
player.h
Code:
class Player{
float PositionX;
public:
int SetPositionX(float);
float GetPositionX();
};
int Player::SetPositionX(float Set_PositionX)
{
Player::PositionX=Set_PositionX;
return 0;//Succes
}
float Player::GetPositionX()
{
return PositionX;
}
Die ich wie folgt aufrufe
Code:
Player pplayer;
pplayer.SetPositionX(0.1);
float pos=pplayer.GetPositionX();
if(pos=0.5)
{
MessageBox(NULL,"Position Erfolgreich gesetzt","",NULL);
}
Warum kommt die MsgBox immernoch obwohl die Position ja nicht 0.5 ist?
2 Frage:
Wie kriege ich das Verzeichnis der Exe da ich in ein Unterferzeichnis möchte.
|
|
|
06/14/2014, 16:53
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
|
->
Edit: Davon ab macht es bei Settern übrigens meistens wenig Sinn 'nen Wert zu returnen, wenn dann lieber auf Exceptions setzen (falls du schon so weit bist).
|
|
|
06/14/2014, 17:12
|
#3
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Quote:
Originally Posted by Ende!
->
Edit: Davon ab macht es bei Settern übrigens meistens wenig Sinn 'nen Wert zu returnen, wenn dann lieber auf Exceptions setzen (falls du schon so weit bist).
|
Könntest du mir mal ein Beispiel an einer Klasse zeigen steige mit dem Exeptions noch nicht durch ?
Das hier verstehe ich noch net so ganz:
|
|
|
06/14/2014, 17:13
|
#4
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Quote:
Originally Posted by Dreamsläps
Wie kriege ich das Verzeichnis der Exe da ich in ein Unterferzeichnis möchte.
|
|
|
|
06/14/2014, 17:31
|
#5
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Wobei  zu bevorzugen wäre.
|
|
|
06/14/2014, 17:53
|
#6
|
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
|
Quote:
Originally Posted by snow911
|
Hab mal was versucht zu basteln funktioniert aber net?
Dir.h
Code:
#include <stdio.h>
void SubDir(LPTSTR Subdir)
{
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
lstrcat(NPath,Subdir);
SetCurrentDirectory(NPath);
}
void DirClear()
{
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
SetCurrentDirectory(NPath);
}
Aufruf:
Code:
SubDir(TEXT("\\_resources\\Font"));
......
DirClear();
Hat zur folge das das Programm crasht.
Code:
Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: Spiel.exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 539c6f20
Fehlermodulname: ntdll.dll
Fehlermodulversion: 6.1.7601.18247
Fehlermodulzeitstempel: 521ea8e7
Ausnahmecode: c0000005
Ausnahmeoffset: 00036a65
Betriebsystemversion: 6.1.7601.2.1.0.768.3
Gebietsschema-ID: 1031
Zusatzinformation 1: 0a9e
Zusatzinformation 2: 0a9e372d3b4ad19135b953a78882e789
Zusatzinformation 3: 0a9e
Zusatzinformation 4: 0a9e372d3b4ad19135b953a78882e789
Lesen Sie unsere Datenschutzbestimmungen online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0407
Wenn die Onlinedatenschutzbestimmungen nicht verfügbar sind, lesen Sie unsere Datenschutzbestimmungen offline:
C:\Windows\system32\de-DE\erofflps.txt
|
|
|
06/14/2014, 18:14
|
#7
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Code:
LPTSTR NPath = NULL;
GetCurrentDirectory(MAX_PATH,NPath);
lstrcat(NPath,Subdir);
SetCurrentDirectory(NPath);
in NULL passt ziemlich viel rein, aber ich würde den Zeiger dennoch auf gültigen Speicher zeigen lassen. Du speicherst Dateien doch auch nicht in /dev/null, weil da alles reinpasst?
Die DirClear-Methode wird auch nicht funktionieren.
|
|
|
06/14/2014, 18:35
|
#8
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Code:
std::string get_app_path()
{
std::vector<char> vec(MAX_PATH, 0);
DWORD length = ::GetModuleFileName(NULL, &vec[0], vec.size());
return std::string(std::begin(vec), std::begin(vec) + length);
}
Falls der Pfad auch zu lang werden kann, noch GetLastError und den Rückgabewert mit einbeziehen und den Buffer dynamisch vergrößern.
Soll nur mal den Ansatz zeigen.
|
|
|
06/15/2014, 12:42
|
#9
|
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
|
Quote:
In der Regel gibt ein Setter keinen Wert zurück. Wenn du auf Erfolg des Settens überprüfen möchtest, dann gib eine Variable des Typs bool zurück. Andernfalls hast du früher oder später mit etlichen Enums als Rückgabewerten zu tun, was das Ganze nicht unbedingt übersichtlicher macht.
|
|
|
Similar Threads
|
[VB 2010] Skype Class Broadcast Fehler
04/03/2013 - .NET Languages - 10 Replies
hey Leute.
Hab grad versucht 'n kleines Tool zu schreiben was in Skype nen Broadcast macht. Nur bekomm ich beim ausführen nen Fehler, woran liegt das ? o.0 Ich kann da beim besten Willen keinen Fehler finden.
Screen :
http://img4.fotos-hochladen.net/uploads/fotoshoch ladenzfjb8hcaiw.png
|
[Holen]Was soll ich mir in Türkei holen?
12/11/2010 - Off Topic - 61 Replies
Hallo...erstmal =D
Meine Eltern sind jetzt in Türkei und haben mich gefragt was sie holen sollen.
Ich weiß aber wirklich rein gar nichts was ich holen könnte???
Hätte jemand eine Idee? Gibt es vll dort ???
|
All times are GMT +1. The time now is 11:20.
|
|