Index: /orxonox/trunk/src/util/loading/load_param.cc
===================================================================
--- /orxonox/trunk/src/util/loading/load_param.cc	(revision 4298)
+++ /orxonox/trunk/src/util/loading/load_param.cc	(revision 4299)
@@ -27,6 +27,8 @@
    \param ... the parameter information
 */
-BaseLoadParam::BaseLoadParam(BaseObject* object, const char* paramName, int paramCount, ...)
-{
+BaseLoadParam::BaseLoadParam(const TiXmlElement* root, BaseObject* object, const char* paramName, int paramCount, ...)
+{
+  this->loadString = grabParameter(root, paramName);
+
   this->paramDesc = NULL;
   if (LoadClassDescription::parametersDescription)
@@ -47,5 +49,5 @@
 	  strcpy(this->paramDesc->types[i], tmpTypeName);
 	}
-      va_end(types);  
+      va_end(types);
 
       int argCount = 0;
Index: /orxonox/trunk/src/util/loading/load_param.h
===================================================================
--- /orxonox/trunk/src/util/loading/load_param.h	(revision 4298)
+++ /orxonox/trunk/src/util/loading/load_param.h	(revision 4299)
@@ -65,7 +65,6 @@
 #define LoadParam1(type1) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE)) \
-  : BaseLoadParam(pt2Object, paramName, 1, type1##_NAME) \
-    { \
-      const char* loadString = grabParameter(root, paramName); \
+   : BaseLoadParam(root, pt2Object, paramName, 1, type1##_NAME)		\
+    { \
       if (loadString != NULL && root != NULL) \
 	(*pt2Object.*function)(type1##_FUNC(loadString)); \
@@ -78,7 +77,6 @@
 #define LoadParam2(type1, type2) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE)) \
-  : BaseLoadParam(pt2Object, paramName, 2, type1##_NAME, type2##_NAME) \
-    { \
-      const char* loadString = grabParameter(root, paramName); \
+   : BaseLoadParam(root, pt2Object, paramName, 2, type1##_NAME, type2##_NAME) \
+    { \
       if (loadString != NULL && root != NULL) \
 	{ \
@@ -98,7 +96,6 @@
 #define LoadParam3(type1, type2, type3) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE))\
-  : BaseLoadParam(pt2Object, paramName, 3, type1##_NAME, type2##_NAME, type3##_NAME) \
-    { \
-      const char* loadString = grabParameter(root, paramName); \
+   : BaseLoadParam(root, pt2Object, paramName, 3, type1##_NAME, type2##_NAME, type3##_NAME) \
+    { \
       if (loadString != NULL && root != NULL) \
 	{ \
@@ -118,7 +115,6 @@
 #define LoadParam4(type1, type2, type3, type4) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE)) \
-  : BaseLoadParam(pt2Object, paramName, 4, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME) \
-    { \
-      const char* loadString = grabParameter(root, paramName); \
+   : BaseLoadParam(root, pt2Object, paramName, 4, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME) \
+    { \
       if (loadString != NULL && root != NULL) \
 	{ \
@@ -138,7 +134,6 @@
 #define LoadParam5(type1, type2, type3, type4, type5) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE, type5##_TYPE)) \
-  : BaseLoadParam(pt2Object, paramName, 5, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME, type5##_NAME) \
-    { \
-      const char* loadString = grabParameter(root, paramName); \
+   : BaseLoadParam(root, pt2Object, paramName, 5, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME, type5##_NAME) \
+    { \
       if (loadString != NULL && root != NULL) \
 	{ \
@@ -202,9 +197,10 @@
 
  protected:
-  BaseLoadParam(BaseObject* object, const char* paramName, int paramCount, ...);
+  BaseLoadParam(const TiXmlElement* root, BaseObject* object, const char* paramName, int paramCount, ...);
 
  protected:
   LoadClassDescription* classDesc;               //!< The LoadClassDescription of this LoadParameter
   LoadParamDescription* paramDesc;               //!< The LoadParameterDescription of this LoadParameter
+  const char* loadString;                        //!< The string loaded by this LoadParam
 };
 
