Browse Source

setup linux builds

Kolja Strohm 3 years ago
parent
commit
f18a2a9551
44 changed files with 547 additions and 362 deletions
  1. 14 4
      build.bat
  2. 144 0
      ksgScript Linux.vcxproj
  3. 39 2
      ksgScript.sln
  4. 34 38
      ksgScript/Befehl/KSGSBefehl.cpp
  5. 10 10
      ksgScript/Befehl/KSGSBefehl.h
  6. 11 7
      ksgScript/Befehl/KSGSFunktion.cpp
  7. 2 2
      ksgScript/Befehl/KSGSFunktion.h
  8. 3 3
      ksgScript/Befehl/KSGSKlasse.cpp
  9. 6 0
      ksgScript/Befehl/KSGSKlasse.h
  10. 5 20
      ksgScript/Editor/Editor.cpp
  11. 4 5
      ksgScript/Editor/Parser/ColorParser.cpp
  12. 50 50
      ksgScript/Error/Error.cpp
  13. 2 1
      ksgScript/Error/Error.h
  14. 9 9
      ksgScript/Funktionen/KSGSCallback.cpp
  15. 30 0
      ksgScript/Funktionen/KSGSCallback.h
  16. 0 30
      ksgScript/Funktionen/KSGSRückruf.h
  17. 4 4
      ksgScript/Include/KSGScript.h
  18. 4 4
      ksgScript/Klassen/KSGSAnimation2D.cpp
  19. 2 2
      ksgScript/Klassen/KSGSAnimation2DData.cpp
  20. 2 2
      ksgScript/Klassen/KSGSArray.cpp
  21. 2 2
      ksgScript/Klassen/KSGSBild.cpp
  22. 3 3
      ksgScript/Klassen/KSGSBildZ.cpp
  23. 10 9
      ksgScript/Klassen/KSGSBool.cpp
  24. 9 9
      ksgScript/Klassen/KSGSDouble.cpp
  25. 5 5
      ksgScript/Klassen/KSGSFenster.cpp
  26. 9 9
      ksgScript/Klassen/KSGSInt.cpp
  27. 16 16
      ksgScript/Klassen/KSGSInt.h
  28. 5 5
      ksgScript/Klassen/KSGSKnopf.cpp
  29. 1 1
      ksgScript/Klassen/KSGSMausEreignis.cpp
  30. 2 2
      ksgScript/Klassen/KSGSTastaturEreignis.cpp
  31. 7 7
      ksgScript/Klassen/KSGSText.cpp
  32. 1 1
      ksgScript/Klassen/KSGSText.h
  33. 5 5
      ksgScript/Klassen/KSGSTextFeld.cpp
  34. 1 1
      ksgScript/Klassen/KSGSThread.cpp
  35. 2 2
      ksgScript/Klassen/KSGSTyp.h
  36. 28 28
      ksgScript/Leser/KSGSLeser.cpp
  37. 1 1
      ksgScript/Leser/KSGSLeser.h
  38. 23 23
      ksgScript/Main/Einstieg.cpp
  39. 8 8
      ksgScript/Main/KSGSExpressionEvaluator.cpp
  40. 1 3
      ksgScript/Main/KSGSExpressionEvaluator.h
  41. 25 21
      ksgScript/Main/KSGScriptObj.cpp
  42. 4 4
      ksgScript/Main/KSGScriptObj.h
  43. 2 2
      ksgScript/ksgScript.vcxproj
  44. 2 2
      ksgScript/ksgScript.vcxproj.filters

+ 14 - 4
build.bat

@@ -1,17 +1,27 @@
 :DebugWin64
 :DebugWin64
 SET RETURN=DebugWin64
 SET RETURN=DebugWin64
 SET NEXT=ReleaseWin64
 SET NEXT=ReleaseWin64
-"%InstallDir%\%MSBuildExe%" "ksgScript.sln" /p:configuration=debug /p:platform=x64
+"%InstallDir%\%MSBuildExe%" "ksgScript/ksgScript.vcxproj" /p:configuration=debug /p:platform=x64 /p:SolutionDir=../
 if errorlevel 1 GOTO Error
 if errorlevel 1 GOTO Error
 :ReleaseWin64
 :ReleaseWin64
 SET RETURN=ReleaseWin64
 SET RETURN=ReleaseWin64
 SET NEXT=ReleaseWin32
 SET NEXT=ReleaseWin32
-"%InstallDir%\%MSBuildExe%" "ksgScript.sln" /p:configuration=release /p:platform=x64
+"%InstallDir%\%MSBuildExe%" "ksgScript/ksgScript.vcxproj" /p:configuration=release /p:platform=x64 /p:SolutionDir=../
 if errorlevel 1 GOTO Error
 if errorlevel 1 GOTO Error
 :ReleaseWin32
 :ReleaseWin32
 SET RETURN=ReleaseWin32
 SET RETURN=ReleaseWin32
-SET NEXT=END
-"%InstallDir%\%MSBuildExe%" "ksgScript.sln" /p:configuration=release /p:platform=win32
+SET NEXT=DebugLinux64
+"%InstallDir%\%MSBuildExe%" "ksgScript/ksgScript.vcxproj" /p:configuration=release /p:platform=win32 /p:SolutionDir=../
+if errorlevel 1 GOTO Error
+:DebugLinux64
+SET RETURN=DebugLinux64
+SET NEXT=ReleaseLinux64
+"%InstallDir%\%MSBuildExe%" "ksgScript Linux.vcxproj" /t:rebuild /p:configuration=debug /p:platform=x64
+if errorlevel 1 GOTO Error
+:ReleaseLinux64
+SET RETURN=ReleaseLinux64
+SET NEXT=End
+"%InstallDir%\%MSBuildExe%" "ksgScript Linux.vcxproj" /t:rebuild /p:configuration=release /p:platform=x64
 if errorlevel 1 GOTO Error
 if errorlevel 1 GOTO Error
 GOTO End
 GOTO End
 :Error
 :Error

+ 144 - 0
ksgScript Linux.vcxproj

@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{737786b5-1e16-4767-9681-01f6c4c3d258}</ProjectGuid>
+    <Keyword>Linux</Keyword>
+    <RootNamespace>ksgScript_Linux</RootNamespace>
+    <MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
+    <ApplicationType>Linux</ApplicationType>
+    <ApplicationTypeRevision>1.0</ApplicationTypeRevision>
+    <TargetLinuxPlatform>Generic</TargetLinuxPlatform>
+    <LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <RemoteRootDir>/home/kolja/projects</RemoteRootDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <RemoteRootDir>/home/kolja/projects</RemoteRootDir>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings" />
+  <ImportGroup Label="Shared" />
+  <ImportGroup Label="PropertySheets" />
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <TargetName>libdbgKsgScript</TargetName>
+    <TargetExt>.so</TargetExt>
+    <RemoteProjectDir>$(RemoteRootDir)/KsgScript/debug</RemoteProjectDir>
+    <IncludePath>..\Framework;$(IncludePath);$(ISenseIncludePath);../../Framework/release</IncludePath>
+    <OutDir>$(RemoteRootDir)/KsgScript/debug/</OutDir>
+    <IntDir>$(RemoteRootDir)/KsgScript/debug/</IntDir>
+    <RemoteTargetPath>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</RemoteTargetPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <RemoteProjectDir>$(RemoteRootDir)/KsgScript/release</RemoteProjectDir>
+    <TargetExt>.so</TargetExt>
+    <IncludePath>..\Framework;$(IncludePath);$(ISenseIncludePath);../../Framework/release</IncludePath>
+    <TargetName>libKsgScript</TargetName>
+    <OutDir>$(RemoteRootDir)/KsgScript/release/</OutDir>
+    <IntDir>$(RemoteRootDir)/KsgScript/release/</IntDir>
+    <RemoteTargetPath>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</RemoteTargetPath>
+  </PropertyGroup>
+  <ItemGroup>
+    <ClInclude Include="ksgScript\Befehl\KSGSBefehl.h" />
+    <ClInclude Include="ksgScript\Befehl\KSGSFunktion.h" />
+    <ClInclude Include="ksgScript\Befehl\KSGSKlasse.h" />
+    <ClInclude Include="ksgScript\Editor\Editor.h" />
+    <ClInclude Include="ksgScript\Editor\Parser\ColorParser.h" />
+    <ClInclude Include="ksgScript\Error\Error.h" />
+    <ClInclude Include="ksgScript\Funktionen\KSGSCallback.h" />
+    <ClInclude Include="ksgScript\Include\KSGScript.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSArray.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSFenster.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSAnimation2D.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSAnimation2DData.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSBild.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSBildZ.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSBool.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSDouble.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSInt.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSKnopf.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSMausEreignis.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSTastaturEreignis.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSText.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSTextFeld.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSThread.h" />
+    <ClInclude Include="ksgScript\Klassen\KSGSTyp.h" />
+    <ClInclude Include="ksgScript\Leser\KSGSCompile.h" />
+    <ClInclude Include="ksgScript\Leser\KSGSLeser.h" />
+    <ClInclude Include="ksgScript\Main\KSGScriptObj.h" />
+    <ClInclude Include="ksgScript\Main\KSGSExpressionEvaluator.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="ksgScript\Befehl\KSGSBefehl.cpp" />
+    <ClCompile Include="ksgScript\Befehl\KSGSFunktion.cpp" />
+    <ClCompile Include="ksgScript\Befehl\KSGSKlasse.cpp" />
+    <ClCompile Include="ksgScript\Editor\Editor.cpp" />
+    <ClCompile Include="ksgScript\Editor\Parser\ColorParser.cpp" />
+    <ClCompile Include="ksgScript\Error\Error.cpp" />
+    <ClCompile Include="ksgScript\Funktionen\KSGSCallback.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSAnimation2D.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSAnimation2DData.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSArray.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSBild.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSBildZ.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSBool.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSDouble.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSFenster.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSInt.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSKnopf.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSMausEreignis.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSTastaturEreignis.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSText.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSTextFeld.cpp" />
+    <ClCompile Include="ksgScript\Klassen\KSGSThread.cpp" />
+    <ClCompile Include="ksgScript\Leser\KSGSCompile.cpp" />
+    <ClCompile Include="ksgScript\Leser\KSGSLeser.cpp" />
+    <ClCompile Include="ksgScript\Main\Einstieg.cpp" />
+    <ClCompile Include="ksgScript\Main\KSGScriptObj.cpp" />
+    <ClCompile Include="ksgScript\Main\KSGSExpressionEvaluator.cpp" />
+  </ItemGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Link />
+    <ClCompile>
+      <AdditionalOptions>-fPIC %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <ForceUndefineSymbolReferences>
+      </ForceUndefineSymbolReferences>
+      <UnresolvedSymbolReferences>false</UnresolvedSymbolReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Link />
+    <ClCompile>
+      <AdditionalOptions>-fPIC %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalIncludeDirectories>%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <ForceUndefineSymbolReferences>
+      </ForceUndefineSymbolReferences>
+      <UnresolvedSymbolReferences>false</UnresolvedSymbolReferences>
+    </Link>
+    <CustomBuildStep>
+      <Outputs>kopieren;%(Outputs)</Outputs>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets" />
+</Project>

+ 39 - 2
ksgScript.sln

@@ -1,28 +1,65 @@
 
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.22823.1
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31112.23
 MinimumVisualStudioVersion = 10.0.40219.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ksgScript", "ksgScript\ksgScript.vcxproj", "{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}"
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ksgScript", "ksgScript\ksgScript.vcxproj", "{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}"
 EndProject
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ksgScript Linux", "ksgScript Linux.vcxproj", "{737786B5-1E16-4767-9681-01F6C4C3D258}"
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
+		Debug|ARM64 = Debug|ARM64
 		Debug|Win32 = Debug|Win32
 		Debug|Win32 = Debug|Win32
 		Debug|x64 = Debug|x64
 		Debug|x64 = Debug|x64
+		Release|ARM = Release|ARM
+		Release|ARM64 = Release|ARM64
 		Release|Win32 = Release|Win32
 		Release|Win32 = Release|Win32
 		Release|x64 = Release|x64
 		Release|x64 = Release|x64
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|ARM.ActiveCfg = Debug|Win32
+		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|ARM64.ActiveCfg = Debug|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|Win32.ActiveCfg = Debug|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|Win32.ActiveCfg = Debug|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|Win32.Build.0 = Debug|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|Win32.Build.0 = Debug|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|x64.ActiveCfg = Debug|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|x64.ActiveCfg = Debug|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|x64.Build.0 = Debug|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Debug|x64.Build.0 = Debug|x64
+		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|ARM.ActiveCfg = Release|Win32
+		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|ARM64.ActiveCfg = Release|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|Win32.ActiveCfg = Release|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|Win32.ActiveCfg = Release|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|Win32.Build.0 = Release|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|Win32.Build.0 = Release|Win32
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|x64.ActiveCfg = Release|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|x64.ActiveCfg = Release|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|x64.Build.0 = Release|x64
 		{50E49628-0E0C-41A3-B48D-1E9EE553EC6F}.Release|x64.Build.0 = Release|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM.ActiveCfg = Debug|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM.Build.0 = Debug|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM.Deploy.0 = Debug|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM64.ActiveCfg = Debug|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM64.Build.0 = Debug|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|ARM64.Deploy.0 = Debug|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|Win32.ActiveCfg = Debug|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|Win32.Build.0 = Debug|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|Win32.Deploy.0 = Debug|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|x64.ActiveCfg = Debug|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|x64.Build.0 = Debug|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Debug|x64.Deploy.0 = Debug|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM.ActiveCfg = Release|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM.Build.0 = Release|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM.Deploy.0 = Release|ARM
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM64.ActiveCfg = Release|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM64.Build.0 = Release|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|ARM64.Deploy.0 = Release|ARM64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|Win32.ActiveCfg = Release|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|Win32.Build.0 = Release|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|Win32.Deploy.0 = Release|x86
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|x64.ActiveCfg = Release|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|x64.Build.0 = Release|x64
+		{737786B5-1E16-4767-9681-01F6C4C3D258}.Release|x64.Deploy.0 = Release|x64
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {A6CB55B8-BC60-437E-AB8A-24979188E8E3}
+	EndGlobalSection
 EndGlobal
 EndGlobal

+ 34 - 38
ksgScript/Befehl/KSGSBefehl.cpp

@@ -88,7 +88,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
     parameter->setSuchGrenzen( '(', ')' );
     parameter->setSuchGrenzen( '(', ')' );
     removeKlammer( parameter );
     removeKlammer( parameter );
     KSGSCompFuncTable *zLFT = zFT;
     KSGSCompFuncTable *zLFT = zFT;
-    KSGSCompVarTable *zLVT = zVT;
     if( klassName )
     if( klassName )
     {
     {
         if( !zKT->hat( klassName ) )
         if( !zKT->hat( klassName ) )
@@ -98,7 +97,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
             return;
             return;
         }
         }
         zLFT = &zKT->get( klassName )->funcs;
         zLFT = &zKT->get( klassName )->funcs;
-        zLVT = &zKT->get( klassName )->vars;
     }
     }
     if( *typId >= 0 )
     if( *typId >= 0 )
     { // Funktion gehört zu anderem Zeichnung
     { // Funktion gehört zu anderem Zeichnung
@@ -109,7 +107,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
             return;
             return;
         }
         }
         zLFT = &zKT->get( *typId )->funcs;
         zLFT = &zKT->get( *typId )->funcs;
-        zLVT = &zKT->get( *typId )->vars;
     }
     }
     Array< int > *paramTyps = 0;
     Array< int > *paramTyps = 0;
     bool noWarn = 0;
     bool noWarn = 0;
@@ -213,7 +210,7 @@ KSGSBefehlMember::KSGSBefehlMember( KSGScriptProcessor *zObj, Text *txt, KSGSLes
     { // Funktionsaufruf
     { // Funktionsaufruf
         typ = FUNKTION;
         typ = FUNKTION;
         bool b = 0;
         bool b = 0;
-        funk = new KSGSBefehlFunktion( zObj, (Text *)abschnitt.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
+        funk = new KSGSBefehlFunktion( zObj, dynamic_cast<Text *>( abschnitt.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
         if( !b )
         if( !b )
             return;
             return;
     }
     }
@@ -221,7 +218,7 @@ KSGSBefehlMember::KSGSBefehlMember( KSGScriptProcessor *zObj, Text *txt, KSGSLes
     { // Variable
     { // Variable
         typ = VARIABLE;
         typ = VARIABLE;
         bool b = 0;
         bool b = 0;
-        var = new KSGSBefehlVariable( (Text *)abschnitt.getThis(), zKT, zFT, zVT, klassName, funktionName, typId, &b );
+        var = new KSGSBefehlVariable( dynamic_cast<Text *>( abschnitt.getThis() ), zKT, zFT, zVT, klassName, funktionName, typId, &b );
         if( !b )
         if( !b )
             return;
             return;
     }
     }
@@ -241,7 +238,6 @@ KSGSBefehlParameter::KSGSBefehlParameter( KSGScriptProcessor *zObj, Text *txt, K
 {
 {
     *typId = -1;
     *typId = -1;
     *ok = 0;
     *ok = 0;
-    int retTyp = -1;
     Text param = txt->getText();
     Text param = txt->getText();
     param.setSuchGrenzen( '(', ')' );
     param.setSuchGrenzen( '(', ')' );
     removeKlammer( &param );
     removeKlammer( &param );
@@ -384,7 +380,7 @@ KSGSBefehlParameter::KSGSBefehlParameter( KSGScriptProcessor *zObj, Text *txt, K
             if( hatOperator( &param ) >= 0 )
             if( hatOperator( &param ) >= 0 )
             { // Befehl
             { // Befehl
                 bool b = 0;
                 bool b = 0;
-                KSGSBefehlMember *obj = new KSGSBefehlMember( zObj, (Text *)param.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
+                KSGSBefehlMember *obj = new KSGSBefehlMember( zObj, dynamic_cast<Text *>( param.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
                 if( !b )
                 if( !b )
                 {
                 {
                     delete obj;
                     delete obj;
@@ -467,7 +463,7 @@ KSGSBefehlErstell::KSGSBefehlErstell( KSGScriptProcessor *zObj, Text *txt, KSGSL
         befehl += &text[ text.positionVon( '(' ) ];
         befehl += &text[ text.positionVon( '(' ) ];
         bool b = 0;
         bool b = 0;
         int pTyp = -1;
         int pTyp = -1;
-        param = new KSGSBefehlParameter( zObj, (Text *)befehl.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, &pTyp, &b );
+        param = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( befehl.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, &pTyp, &b );
         if( !b )
         if( !b )
         {
         {
             typ->release();
             typ->release();
@@ -528,7 +524,7 @@ KSGSBefehl::~KSGSBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     return 0;
     return 0;
 }
 }
@@ -625,7 +621,7 @@ KSGSVariable *KSGSBefehl::prozessMember( KSGSVariable *zVorObj, KSGSBefehlMember
     {
     {
     case KSGSBefehlMember::BEFEHL:
     case KSGSBefehlMember::BEFEHL:
         if( !zVorObj && zMem->bef )
         if( !zVorObj && zMem->bef )
-            return zMem->bef->ausführen( zObj, zFI, zKI );
+            return zMem->bef->execute( zObj, zFI, zKI );
         break;
         break;
     case KSGSBefehlMember::FUNKTION:
     case KSGSBefehlMember::FUNKTION:
         if( zMem->funk )
         if( zMem->funk )
@@ -742,7 +738,7 @@ KSGSVariable *KSGSBefehl::prozessErstell( KSGSBefehlErstell *zErst, KSGScriptPro
         ret->release();
         ret->release();
         ret = tmp;
         ret = tmp;
     }
     }
-    zFI->setVariable( zErst->id, (KSGSVariable *)ret->getThis() );
+    zFI->setVariable( zErst->id, dynamic_cast<KSGSVariable *>( ret->getThis() ) );
     return ret;
     return ret;
 }
 }
 
 
@@ -768,7 +764,7 @@ KSGSCallBefehl::KSGSCallBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef, K
         int end = abschnittEnde[ i ];
         int end = abschnittEnde[ i ];
         Text *abschnitt = bef->befehl.getTeilText( beg, end );
         Text *abschnitt = bef->befehl.getTeilText( beg, end );
         bool b = 0;
         bool b = 0;
-        KSGSBefehlMember *mem = new KSGSBefehlMember( zObj, (Text *)abschnitt->getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &vTyp, &b );
+        KSGSBefehlMember *mem = new KSGSBefehlMember( zObj, dynamic_cast<Text *>( abschnitt->getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &vTyp, &b );
         if( !b )
         if( !b )
         {
         {
             error( 13, { bef->debug.datei, Text() += bef->debug.zeile, *abschnitt }, zObj );
             error( 13, { bef->debug.datei, Text() += bef->debug.zeile, *abschnitt }, zObj );
@@ -794,7 +790,7 @@ KSGSCallBefehl::~KSGSCallBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSCallBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSCallBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     KSGSVariable *v = 0;
     KSGSVariable *v = 0;
     int anz = objekt.getEintragAnzahl();
     int anz = objekt.getEintragAnzahl();
@@ -825,8 +821,8 @@ KSGSOperatorBefehl::KSGSOperatorBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl
         fehler = 1;
         fehler = 1;
         return;
         return;
     }
     }
-    int opLän = 0;
-    int opPos = getOperatorPos( &bef->befehl, &opLän );
+    int opLen = 0;
+    int opPos = getOperatorPos( &bef->befehl, &opLen );
     Text *links = bef->befehl.getTeilText( 0, opPos );
     Text *links = bef->befehl.getTeilText( 0, opPos );
     bool b = 0;
     bool b = 0;
     paramL = new KSGSBefehlParameter( zObj, links, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &returnTyp, &b );
     paramL = new KSGSBefehlParameter( zObj, links, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &returnTyp, &b );
@@ -836,7 +832,7 @@ KSGSOperatorBefehl::KSGSOperatorBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl
         fehler = 1;
         fehler = 1;
         return;
         return;
     }
     }
-    Text *rechts = bef->befehl.getTeilText( opPos + opLän );
+    Text *rechts = bef->befehl.getTeilText( opPos + opLen );
     b = 0;
     b = 0;
     int rTyp = -1;
     int rTyp = -1;
     paramR = new KSGSBefehlParameter( zObj, rechts, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &rTyp, &b );
     paramR = new KSGSBefehlParameter( zObj, rechts, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &rTyp, &b );
@@ -858,7 +854,7 @@ KSGSOperatorBefehl::~KSGSOperatorBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSOperatorBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSOperatorBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     KSGSVariable *l = prozessParameter( paramL, zObj, zFI, zKI );
     KSGSVariable *l = prozessParameter( paramL, zObj, zFI, zKI );
     if( operatorId == KSGS_O_SET && ( l ? l->getTyp() > KSGS_TYP_MAX : 1 ) )
     if( operatorId == KSGS_O_SET && ( l ? l->getTyp() > KSGS_TYP_MAX : 1 ) )
@@ -887,7 +883,7 @@ KSGSVariable *KSGSOperatorBefehl::ausf
                 {
                 {
                     if( lVObj )
                     if( lVObj )
                         lVObj->release();
                         lVObj->release();
-                    lVObj = v ? (KSGSVariable *)v->getThis() : 0;
+                    lVObj = v ? dynamic_cast<KSGSVariable *>( v->getThis() ) : 0;
                     KSGSVariable *tmp = 0;
                     KSGSVariable *tmp = 0;
                     switch( paramL->objekt.get( i )->typ )
                     switch( paramL->objekt.get( i )->typ )
                     {
                     {
@@ -902,7 +898,7 @@ KSGSVariable *KSGSOperatorBefehl::ausf
                             return 0;
                             return 0;
                         }
                         }
                         if( !v && paramL->objekt.get( i )->bef )
                         if( !v && paramL->objekt.get( i )->bef )
-                            tmp = paramL->objekt.get( i )->bef->ausführen( zObj, zFI, zKI );
+                            tmp = paramL->objekt.get( i )->bef->execute( zObj, zFI, zKI );
                         break;
                         break;
                     case KSGSBefehlMember::FUNKTION:
                     case KSGSBefehlMember::FUNKTION:
                         if( i == anz - 1 )
                         if( i == anz - 1 )
@@ -948,24 +944,24 @@ KSGSVariable *KSGSOperatorBefehl::ausf
         {
         {
             if( lVObj )
             if( lVObj )
                 lVObj->release();
                 lVObj->release();
-            zFI->setVariable( vId, (KSGSVariable *)r->getThis() );
+            zFI->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
             return r;
             return r;
         }
         }
         else if( !vS ) // Scriptvariable
         else if( !vS ) // Scriptvariable
         {
         {
             if( lVObj )
             if( lVObj )
                 lVObj->release();
                 lVObj->release();
-            zObj->setVariable( vId, (KSGSVariable *)r->getThis() );
+            zObj->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
             return r;
             return r;
         }
         }
         else // Klassenvariable
         else // Klassenvariable
         {
         {
             if( !lVObj )
             if( !lVObj )
             {
             {
-                zKI->setVariable( vId, (KSGSVariable *)r->getThis() );
+                zKI->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
                 return r;
                 return r;
             }
             }
-            lVObj->setVariable( vId, (KSGSVariable *)r->getThis() );
+            lVObj->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
             if( lVObj )
             if( lVObj )
                 lVObj->release();
                 lVObj->release();
             return r;
             return r;
@@ -990,7 +986,7 @@ KSGSIfBefehl::KSGSIfBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef, KSGSC
     bedingung = 0;
     bedingung = 0;
     int bTyp = -1;
     int bTyp = -1;
     bool b = 0;
     bool b = 0;
-    bedingung = new KSGSBefehlParameter( zObj, (Text *)bef->befehl.getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
+    bedingung = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( bef->befehl.getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
     int anz = bef->listA.getEintragAnzahl();
     int anz = bef->listA.getEintragAnzahl();
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
     {
     {
@@ -1102,7 +1098,7 @@ KSGSIfBefehl::~KSGSIfBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSIfBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSIfBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
     if( !b )
     if( !b )
@@ -1116,7 +1112,7 @@ KSGSVariable *KSGSIfBefehl::ausf
                 Sleep( 100 );
                 Sleep( 100 );
             if( !zFI->getStatus() ) // return
             if( !zFI->getStatus() ) // return
                 break;
                 break;
-            KSGSVariable *v = bTrue.z( i )->ausführen( zObj, zFI, zKI );
+            KSGSVariable *v = bTrue.z( i )->execute( zObj, zFI, zKI );
             if( v )
             if( v )
                 v->release();
                 v->release();
         }
         }
@@ -1130,7 +1126,7 @@ KSGSVariable *KSGSIfBefehl::ausf
                 Sleep( 100 );
                 Sleep( 100 );
             if( !zFI->getStatus() ) // return
             if( !zFI->getStatus() ) // return
                 break;
                 break;
-            KSGSVariable *v = bFalse.z( i )->ausführen( zObj, zFI, zKI );
+            KSGSVariable *v = bFalse.z( i )->execute( zObj, zFI, zKI );
             if( v )
             if( v )
                 v->release();
                 v->release();
         }
         }
@@ -1277,9 +1273,9 @@ KSGSForBefehl::~KSGSForBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSForBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSForBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
-    KSGSVariable *l = links ? links->ausführen( zObj, zFI, zKI ) : 0;
+    KSGSVariable *l = links ? links->execute( zObj, zFI, zKI ) : 0;
     if( l )
     if( l )
         l->release();
         l->release();
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
@@ -1296,7 +1292,7 @@ KSGSVariable *KSGSForBefehl::ausf
                 break;
                 break;
             if( zFI->getStatus() == 2 ) // continue
             if( zFI->getStatus() == 2 ) // continue
                 break;
                 break;
-            KSGSVariable *v = schleife.z( i )->ausführen( zObj, zFI, zKI );
+            KSGSVariable *v = schleife.z( i )->execute( zObj, zFI, zKI );
             if( v )
             if( v )
                 v->release();
                 v->release();
         }
         }
@@ -1308,7 +1304,7 @@ KSGSVariable *KSGSForBefehl::ausf
             break;
             break;
         if( !anz )
         if( !anz )
             Sleep( 100 );
             Sleep( 100 );
-        KSGSVariable *v = rechts ? rechts->ausführen( zObj, zFI, zKI ) : 0;
+        KSGSVariable *v = rechts ? rechts->execute( zObj, zFI, zKI ) : 0;
         if( v )
         if( v )
             v->release();
             v->release();
         if( b )
         if( b )
@@ -1331,7 +1327,7 @@ KSGSWhileBefehl::KSGSWhileBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef,
     bedingung = 0;
     bedingung = 0;
     int bTyp = -1;
     int bTyp = -1;
     bool b = 0;
     bool b = 0;
-    bedingung = new KSGSBefehlParameter( zObj, (Text *)bef->befehl.getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
+    bedingung = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( bef->befehl.getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
     int anz = bef->listA.getEintragAnzahl();
     int anz = bef->listA.getEintragAnzahl();
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
     {
     {
@@ -1392,7 +1388,7 @@ KSGSWhileBefehl::~KSGSWhileBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSWhileBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSWhileBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
     KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
     if( !b )
     if( !b )
@@ -1408,7 +1404,7 @@ KSGSVariable *KSGSWhileBefehl::ausf
                 break;
                 break;
             if( zFI->getStatus() == 2 ) // continue
             if( zFI->getStatus() == 2 ) // continue
                 break;
                 break;
-            KSGSVariable *v = schleife.z( i )->ausführen( zObj, zFI, zKI );
+            KSGSVariable *v = schleife.z( i )->execute( zObj, zFI, zKI );
             if( v )
             if( v )
                 v->release();
                 v->release();
         }
         }
@@ -1460,7 +1456,7 @@ KSGSReturnBefehl::~KSGSReturnBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSReturnBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSReturnBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     KSGSVariable *v = param ? prozessParameter( param, zObj, zFI, zKI ) : 0;
     KSGSVariable *v = param ? prozessParameter( param, zObj, zFI, zKI ) : 0;
     if( v )
     if( v )
@@ -1484,7 +1480,7 @@ KSGSBreakBefehl::~KSGSBreakBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSBreakBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSBreakBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     zFI->setBreak();
     zFI->setBreak();
     return 0;
     return 0;
@@ -1505,7 +1501,7 @@ KSGSContinueBefehl::~KSGSContinueBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSContinueBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSContinueBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     zFI->setContinue();
     zFI->setContinue();
     return 0;
     return 0;
@@ -1543,7 +1539,7 @@ KSGSVariableBefehl::~KSGSVariableBefehl()
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGSVariableBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
+KSGSVariable *KSGSVariableBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
 {
 {
     return prozessErstell( erstell, zObj, zFI, zKI );
     return prozessErstell( erstell, zObj, zFI, zKI );
 }
 }

+ 10 - 10
ksgScript/Befehl/KSGSBefehl.h

@@ -117,7 +117,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) virtual ~KSGSBefehl();
         __declspec( dllexport ) virtual ~KSGSBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const;
         __declspec( dllexport ) bool hatFehler() const;
         __declspec( dllexport ) bool hatFehler() const;
         __declspec( dllexport ) int getReturnTyp() const;
         __declspec( dllexport ) int getReturnTyp() const;
         __declspec( dllexport ) bool istTyp( Typ t ) const;
         __declspec( dllexport ) bool istTyp( Typ t ) const;
@@ -141,7 +141,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSCallBefehl();
         __declspec( dllexport ) ~KSGSCallBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSOperatorBefehl : public KSGSBefehl
     class KSGSOperatorBefehl : public KSGSBefehl
@@ -158,7 +158,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSOperatorBefehl();
         __declspec( dllexport ) ~KSGSOperatorBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSIfBefehl : public KSGSBefehl
     class KSGSIfBefehl : public KSGSBefehl
@@ -175,7 +175,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSIfBefehl();
         __declspec( dllexport ) ~KSGSIfBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSForBefehl : public KSGSBefehl
     class KSGSForBefehl : public KSGSBefehl
@@ -193,7 +193,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSForBefehl();
         __declspec( dllexport ) ~KSGSForBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSWhileBefehl : public KSGSBefehl
     class KSGSWhileBefehl : public KSGSBefehl
@@ -209,7 +209,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSWhileBefehl();
         __declspec( dllexport ) ~KSGSWhileBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSReturnBefehl : public KSGSBefehl
     class KSGSReturnBefehl : public KSGSBefehl
@@ -224,7 +224,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSReturnBefehl();
         __declspec( dllexport ) ~KSGSReturnBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSBreakBefehl : public KSGSBefehl
     class KSGSBreakBefehl : public KSGSBefehl
@@ -238,7 +238,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSBreakBefehl();
         __declspec( dllexport ) ~KSGSBreakBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSContinueBefehl : public KSGSBefehl
     class KSGSContinueBefehl : public KSGSBefehl
@@ -252,7 +252,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSContinueBefehl();
         __declspec( dllexport ) ~KSGSContinueBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 
 
     class KSGSVariableBefehl : public KSGSBefehl
     class KSGSVariableBefehl : public KSGSBefehl
@@ -267,7 +267,7 @@ namespace KSGScript
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSVariableBefehl();
         __declspec( dllexport ) ~KSGSVariableBefehl();
         // constant
         // constant
-        __declspec( dllexport ) virtual KSGSVariable *ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
+        __declspec( dllexport ) virtual KSGSVariable *execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const override;
     };
     };
 }
 }
 
 

+ 11 - 7
ksgScript/Befehl/KSGSFunktion.cpp

@@ -8,6 +8,10 @@
 
 
 using namespace KSGScript;
 using namespace KSGScript;
 
 
+#ifndef WIN32
+#define INFINITE 0xFFFFFFFF
+#endif
+
 // Inhalt der KSGSFunktionInstanz Klasse aus KSGSFunktion.h
 // Inhalt der KSGSFunktionInstanz Klasse aus KSGSFunktion.h
 // Konstruktor
 // Konstruktor
 KSGSFunktionInstanz::KSGSFunktionInstanz( RCArray< KSGSBefehl > *ba, int rt, KSGScriptProcessor *obj, KSGSVariable *klasse )
 KSGSFunktionInstanz::KSGSFunktionInstanz( RCArray< KSGSBefehl > *ba, int rt, KSGScriptProcessor *obj, KSGSVariable *klasse )
@@ -124,16 +128,16 @@ KSGSVariable *KSGSFunktionInstanz::startFunktion()
         retVar = (KSGSVariable *)retVar->release();
         retVar = (KSGSVariable *)retVar->release();
     if( returnTyp == KSGS_THREAD )
     if( returnTyp == KSGS_THREAD )
     {
     {
-        threadVar = new KSGSThreadKlasse( obj, (KSGSFunktionInstanz *)getThis() );
+        threadVar = new KSGSThreadKlasse( obj, dynamic_cast<KSGSFunktionInstanz *>( getThis() ) );
         start();
         start();
-        return (KSGSVariable *)threadVar->getThis();
+        return dynamic_cast<KSGSVariable *>( threadVar->getThis() );
     }
     }
     else
     else
     {
     {
         run = 1;
         run = 1;
         thread();
         thread();
         warteAufFunktion( INFINITE );
         warteAufFunktion( INFINITE );
-        return retVar ? (KSGSVariable *)retVar->getThis() : 0;
+        return retVar ? dynamic_cast<KSGSVariable *>( retVar->getThis() ) : 0;
     }
     }
 }
 }
 
 
@@ -150,7 +154,7 @@ void KSGSFunktionInstanz::thread()
         KSGSBefehl *b = befehle->z( i );
         KSGSBefehl *b = befehle->z( i );
         if( b )
         if( b )
         {
         {
-            KSGSVariable *var = b->ausführen( obj, this, klasse );
+            KSGSVariable *var = b->execute( obj, this, klasse );
             if( var )
             if( var )
                 var->release();
                 var->release();
         }
         }
@@ -199,7 +203,7 @@ int KSGSFunktionInstanz::getReturnTyp() const
     return returnTyp;
     return returnTyp;
 }
 }
 
 
-bool KSGSFunktionInstanz::wirdFunktionAusgeführt() const
+bool KSGSFunktionInstanz::isFunctionExecuting() const
 {
 {
     return isRunning();
     return isRunning();
 }
 }
@@ -211,7 +215,7 @@ int KSGSFunktionInstanz::warteAufFunktion( int zeit )
     return 0;
     return 0;
 }
 }
 
 
-bool KSGSFunktionInstanz::wirdAusgeführt() const
+bool KSGSFunktionInstanz::isExecuting() const
 {
 {
     return isRunning() && !beendet && !pausiert;
     return isRunning() && !beendet && !pausiert;
 }
 }
@@ -259,7 +263,7 @@ void KSGSFunktion::addBefehl( KSGSBefehl *befehl )
 
 
 KSGSFunktionInstanz *KSGSFunktion::erstellInstanz( KSGScriptProcessor *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params )
 KSGSFunktionInstanz *KSGSFunktion::erstellInstanz( KSGScriptProcessor *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params )
 {
 {
-    KSGSFunktionInstanz *inst = new KSGSFunktionInstanz( ( RCArray< KSGSBefehl >* )befehle->getThis(), typId, obj, klasse );
+    KSGSFunktionInstanz *inst = new KSGSFunktionInstanz( dynamic_cast<RCArray< KSGSBefehl >*>( befehle->getThis() ), typId, obj, klasse );
     if( params )
     if( params )
         inst->setParameter( parameter, params );
         inst->setParameter( parameter, params );
     return inst;
     return inst;

+ 2 - 2
ksgScript/Befehl/KSGSFunktion.h

@@ -54,9 +54,9 @@ namespace KSGScript
         // constant
         // constant
         __declspec( dllexport ) virtual KSGSVariable *getVariable( int id ) const;
         __declspec( dllexport ) virtual KSGSVariable *getVariable( int id ) const;
         __declspec( dllexport ) virtual int getReturnTyp() const;
         __declspec( dllexport ) virtual int getReturnTyp() const;
-        __declspec( dllexport ) virtual bool wirdFunktionAusgeführt() const;
+        __declspec( dllexport ) virtual bool isFunctionExecuting() const;
         __declspec( dllexport ) virtual int warteAufFunktion( int zeit );
         __declspec( dllexport ) virtual int warteAufFunktion( int zeit );
-        __declspec( dllexport ) virtual bool wirdAusgeführt() const;
+        __declspec( dllexport ) virtual bool isExecuting() const;
     };
     };
 
 
     class KSGSFunktion : public virtual ReferenceCounter
     class KSGSFunktion : public virtual ReferenceCounter

+ 3 - 3
ksgScript/Befehl/KSGSKlasse.cpp

@@ -28,7 +28,7 @@ KSGSKlasseInstanz::KSGSKlasseInstanz( int typ, Array< KSGSVariableDef * > *zVars
     varPublic = new Array< bool >();
     varPublic = new Array< bool >();
     funktionen = funcs;
     funktionen = funcs;
     obj = zObj;
     obj = zObj;
-    lokaleVariablen->add( (KSGSKlasseInstanz *)getThis(), 0 );
+    lokaleVariablen->add( dynamic_cast<KSGSKlasseInstanz *>( getThis() ), 0 );
     varPublic->set( 0, 0 );
     varPublic->set( 0, 0 );
     int anz = zVars ? zVars->getEintragAnzahl() : 0;
     int anz = zVars ? zVars->getEintragAnzahl() : 0;
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
@@ -62,7 +62,7 @@ KSGSVariable *KSGSKlasseInstanz::startFunktion( int id, bool zugriff, RCArray< K
         parameter->release();
         parameter->release();
         return 0;
         return 0;
     }
     }
-    KSGSFunktionInstanz *inst = funktionen->z( id )->erstellInstanz( obj, (KSGSKlasseInstanz *)getThis(), parameter );
+    KSGSFunktionInstanz *inst = funktionen->z( id )->erstellInstanz( obj, dynamic_cast<KSGSKlasseInstanz *>( getThis() ), parameter );
     KSGSVariable *ret = inst->startFunktion();
     KSGSVariable *ret = inst->startFunktion();
     inst->release();
     inst->release();
     return ret;
     return ret;
@@ -461,7 +461,7 @@ void KSGSKlasse::addFunktion( KSGSFunktion *func )
 
 
 KSGSKlasseInstanz *KSGSKlasse::erstellInstanz( KSGScriptProcessor *zObj )
 KSGSKlasseInstanz *KSGSKlasse::erstellInstanz( KSGScriptProcessor *zObj )
 {
 {
-    return new KSGSKlasseInstanz( id, var, ( RCArray<KSGSFunktion>* )funktionen->getThis(), zObj );
+    return new KSGSKlasseInstanz( id, var, dynamic_cast<RCArray<KSGSFunktion>*>( funktionen->getThis() ), zObj );
 }
 }
 
 
 // constant
 // constant

+ 6 - 0
ksgScript/Befehl/KSGSKlasse.h

@@ -12,6 +12,9 @@ namespace KSGScript
 {
 {
     class KSGSKlasse; // aus dieser Datei
     class KSGSKlasse; // aus dieser Datei
 
 
+#ifdef WIN32
+#pragma vtordisp(push, 2)
+#endif
     class KSGSKlasseInstanz : public KSGSVariable
     class KSGSKlasseInstanz : public KSGSVariable
     {
     {
     protected:
     protected:
@@ -53,6 +56,9 @@ namespace KSGScript
         // static
         // static
         static KSGSVariable *erstellVariable( KSGScriptProcessor *zObj, KSGSVariableDef *def );
         static KSGSVariable *erstellVariable( KSGScriptProcessor *zObj, KSGSVariableDef *def );
     };
     };
+#ifdef WIN32
+#pragma vtordisp(pop)
+#endif
 
 
     class KSGSKlasse : public virtual ReferenceCounter
     class KSGSKlasse : public virtual ReferenceCounter
     {
     {

+ 5 - 20
ksgScript/Editor/Editor.cpp

@@ -1,7 +1,7 @@
 #include "Editor.h"
 #include "Editor.h"
 
 
 #include <Schrift.h>
 #include <Schrift.h>
-#include "Parser\ColorParser.h"
+#include "Parser/ColorParser.h"
 #include <Bild.h>
 #include <Bild.h>
 #include <Scroll.h>
 #include <Scroll.h>
 #include <Globals.h>
 #include <Globals.h>
@@ -14,9 +14,9 @@ using namespace KSGScript;
 // Konstructor
 // Konstructor
 Editor::Editor()
 Editor::Editor()
     : ZeichnungHintergrund(),
     : ZeichnungHintergrund(),
-    begF( 0 ),
-    cPos( 0 ),
     tickVal( 0 ),
     tickVal( 0 ),
+    cPos( 0 ),
+    begF( 0 ),
     mausKlick( 0 )
     mausKlick( 0 )
 {
 {
     textRd = 0;
     textRd = 0;
@@ -97,13 +97,10 @@ void Editor::doMausEreignis( MausEreignis &me, bool userRet )
                 bool shift = getTastenStand( T_Shift );
                 bool shift = getTastenStand( T_Shift );
                 if( me.id == Framework::ME_PLinks )
                 if( me.id == Framework::ME_PLinks )
                 {
                 {
-                    int tbr = textRd->getTextBreite( script->getText() );
-                    int thi = textRd->getTextHeight( script->getText() );
                     int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                     int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                     int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                     int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                     int xxx = me.mx - rbr + scrollBr;
                     int xxx = me.mx - rbr + scrollBr;
                     int yyy = me.my - rbr + scrollHi;
                     int yyy = me.my - rbr + scrollHi;
-                    int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
                     int pos = textRd->textPos( script->getText(), xxx, yyy );
                     int pos = textRd->textPos( script->getText(), xxx, yyy );
                     if( pos != -1 )
                     if( pos != -1 )
                     {
                     {
@@ -124,14 +121,10 @@ void Editor::doMausEreignis( MausEreignis &me, bool userRet )
                 }
                 }
                 if( me.id == ME_Bewegung && mausKlick )
                 if( me.id == ME_Bewegung && mausKlick )
                 {
                 {
-                    int tbr = textRd->getTextBreite( script->getText() );
-                    int thi = textRd->getTextHeight( script->getText() );
                     int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                     int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                     int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                     int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                     int xxx = me.mx - rbr + scrollBr;
                     int xxx = me.mx - rbr + scrollBr;
                     int yyy = me.my - rbr + scrollHi;
                     int yyy = me.my - rbr + scrollHi;
-                    int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
-                    int scrollHeight = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
                     int pos = textRd->textPos( script->getText(), xxx, yyy );
                     int pos = textRd->textPos( script->getText(), xxx, yyy );
                     if( pos != -1 )
                     if( pos != -1 )
                     {
                     {
@@ -148,14 +141,10 @@ void Editor::doMausEreignis( MausEreignis &me, bool userRet )
                 {
                 {
                     if( !shift )
                     if( !shift )
                     {
                     {
-                        int tbr = textRd->getTextBreite( script->getText() );
-                        int thi = textRd->getTextHeight( script->getText() );
                         int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                         int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
                         int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                         int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
                         int xxx = me.mx - rbr + scrollBr;
                         int xxx = me.mx - rbr + scrollBr;
                         int yyy = me.my - rbr + scrollHi;
                         int yyy = me.my - rbr + scrollHi;
-                        int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
-                        int scrollHeight = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
                         int pos = textRd->textPos( script->getText(), xxx, yyy );
                         int pos = textRd->textPos( script->getText(), xxx, yyy );
                         if( pos != -1 )
                         if( pos != -1 )
                         {
                         {
@@ -539,7 +528,7 @@ bool Editor::tick( double tickval )
             tickVal -= 1;
             tickVal -= 1;
         }
         }
     }
     }
-    return __super::tick( tickVal );
+    return ZeichnungHintergrund::tick( tickVal );
 }
 }
 
 
 // Zeichnet den Editor nach rObj
 // Zeichnet den Editor nach rObj
@@ -547,7 +536,7 @@ void Editor::render( Bild &rObj )
 {
 {
     if( hatStyleNicht( Style::Sichtbar ) )
     if( hatStyleNicht( Style::Sichtbar ) )
         return;
         return;
-    __super::render( rObj );
+    ZeichnungHintergrund::render( rObj );
     if( !script || !textRd )
     if( !script || !textRd )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
@@ -557,12 +546,8 @@ void Editor::render( Bild &rObj )
         return;
         return;
     }
     }
     textRd->setSchriftSize( 12 );
     textRd->setSchriftSize( 12 );
-    int tbr = textRd->getTextBreite( script->getText() );
-    int thi = textRd->getTextHeight( script->getText() );
     int xxx = 0;
     int xxx = 0;
     int yyy = 0;
     int yyy = 0;
-    int breite = innenSize.x;
-    int height = innenSize.y;
     bool hs = horizontalScrollBar && hatStyle( Style::HScroll );
     bool hs = horizontalScrollBar && hatStyle( Style::HScroll );
     bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
     bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
     if( vs )
     if( vs )

+ 4 - 5
ksgScript/Editor/Parser/ColorParser.cpp

@@ -12,7 +12,7 @@ const int ColorParser::typeAnz = 16;
 ColorParser::ColorParser( Text *zTxt )
 ColorParser::ColorParser( Text *zTxt )
     : KSGSLeser()
     : KSGSLeser()
 {
 {
-    txt = (Text *)zTxt->getThis();
+    txt = dynamic_cast<Text *>( zTxt->getThis() );
     reset();
     reset();
     reload();
     reload();
 }
 }
@@ -82,7 +82,7 @@ void ColorParser::reload()
     abschnitt.leeren();
     abschnitt.leeren();
     delete dat;
     delete dat;
     dat = new KSGSLeseScript();
     dat = new KSGSLeseScript();
-    d = new TextReader( (Text *)txt->getThis() );
+    d = new TextReader( dynamic_cast<Text *>( txt->getThis() ) );
     zeile = 1;
     zeile = 1;
     while( !d->istEnde() )
     while( !d->istEnde() )
     {
     {
@@ -209,7 +209,7 @@ KSGSLeseKlasse *ColorParser::leseKlasse()
 {
 {
     Abschnitt abs;
     Abschnitt abs;
     abs.anfang = (int)d->getLPosition();
     abs.anfang = (int)d->getLPosition();
-    KSGSLeseKlasse *ret = __super::leseKlasse();
+    KSGSLeseKlasse *ret = KSGSLeser::leseKlasse();
     abs.ende = (int)d->getLPosition();
     abs.ende = (int)d->getLPosition();
     abs.zKlasse = ret;
     abs.zKlasse = ret;
     abs.zFunktion = 0;
     abs.zFunktion = 0;
@@ -223,7 +223,7 @@ KSGSLeseFunktion *ColorParser::leseFunktion()
 {
 {
     Abschnitt abs;
     Abschnitt abs;
     abs.anfang = (int)d->getLPosition();
     abs.anfang = (int)d->getLPosition();
-    KSGSLeseFunktion *ret = __super::leseFunktion();
+    KSGSLeseFunktion *ret = KSGSLeser::leseFunktion();
     abs.ende = (int)d->getLPosition();
     abs.ende = (int)d->getLPosition();
     abs.zKlasse = 0;
     abs.zKlasse = 0;
     abs.zFunktion = ret;
     abs.zFunktion = ret;
@@ -238,7 +238,6 @@ KSGScriptEditor::ColorType ColorParser::getNextColor( int p, int &underlineC )
 {
 {
     KSGScriptEditor::ColorType color = KSGScriptEditor::ColorType::NORMAL_TEXT;
     KSGScriptEditor::ColorType color = KSGScriptEditor::ColorType::NORMAL_TEXT;
     int scriptL = txt->getLength();
     int scriptL = txt->getLength();
-    char c = txt->getText()[ p ];
     char cm1 = txt->getText()[ p - 1 ];
     char cm1 = txt->getText()[ p - 1 ];
     if( istLehr( cm1 ) || istTrenner( cm1 ) )
     if( istLehr( cm1 ) || istTrenner( cm1 ) )
     {
     {

+ 50 - 50
ksgScript/Error/Error.cpp

@@ -3,43 +3,43 @@
 #include <iostream>
 #include <iostream>
 #include <Text.h>
 #include <Text.h>
 
 
-void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::KSGScriptProcessor *zObj )
+void KSGScript::error( int num, std::initializer_list< const char * > msg, KSGScript::KSGScriptProcessor *zObj )
 {
 {
     Framework::Text logMsg;
     Framework::Text logMsg;
- 	switch( num )
-	{
-	case 0:
+    switch( num )
+    {
+    case 0:
         logMsg = "Warnung: Fehler beim erstellen einer Variable.";
         logMsg = "Warnung: Fehler beim erstellen einer Variable.";
-		break;
-	case 1:
+        break;
+    case 1:
         logMsg = "Warnung: Eine Variable dieses Typs kann nicht erstellt werden.";
         logMsg = "Warnung: Eine Variable dieses Typs kann nicht erstellt werden.";
-		break;
-	case 2:
+        break;
+    case 2:
         logMsg = "Warnung: Eine Variable mit unbekanntem Typ kann nicht erstellt werden.";
         logMsg = "Warnung: Eine Variable mit unbekanntem Typ kann nicht erstellt werden.";
-		break;
-	case 3:
+        break;
+    case 3:
         logMsg = "Warnung: NULL Zeiger beim ausführen eines Operators.";
         logMsg = "Warnung: NULL Zeiger beim ausführen eines Operators.";
-		break;
-	case 4:
+        break;
+    case 4:
         logMsg = "Error: Die KSGScript Datei '";
         logMsg = "Error: Die KSGScript Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' konnte nicht geöffnet werden.";
         logMsg += "' konnte nicht geöffnet werden.";
-		break;
-	case 5:
+        break;
+    case 5:
         logMsg = "Error: Die Datei '";
         logMsg = "Error: Die Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' konnte nicht geladen werden. Unbekanntes Wort in Zeile '";
         logMsg += "' konnte nicht geladen werden. Unbekanntes Wort in Zeile '";
         logMsg += msg.begin()[ 1 ];
         logMsg += msg.begin()[ 1 ];
         logMsg += "'";
         logMsg += "'";
-		break;
-	case 6:
+        break;
+    case 6:
         logMsg = "Error: Eine '";
         logMsg = "Error: Eine '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' aus der Datei '";
         logMsg += "' aus der Datei '";
         logMsg += msg.begin()[ 1 ];
         logMsg += msg.begin()[ 1 ];
         logMsg += "' konnte nicht gelesen werden.";
         logMsg += "' konnte nicht gelesen werden.";
-		break;
-	case 7:
+        break;
+    case 7:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -47,8 +47,8 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += "' der Datentyp '";
         logMsg += "' der Datentyp '";
         logMsg += msg.begin()[ 2 ];
         logMsg += msg.begin()[ 2 ];
         logMsg += "' ist bereits definiert.";
         logMsg += "' ist bereits definiert.";
-		break;
-	case 8:
+        break;
+    case 8:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -56,8 +56,8 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += "' die Funktion '";
         logMsg += "' die Funktion '";
         logMsg += msg.begin()[ 2 ];
         logMsg += msg.begin()[ 2 ];
         logMsg += "' ist bereits definiert.";
         logMsg += "' ist bereits definiert.";
-		break;
-	case 9:
+        break;
+    case 9:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -65,11 +65,11 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += "' die Variable '";
         logMsg += "' die Variable '";
         logMsg += msg.begin()[ 2 ];
         logMsg += msg.begin()[ 2 ];
         logMsg += "' ist bereits definiert.";
         logMsg += "' ist bereits definiert.";
-		break;
-	case 10:
+        break;
+    case 10:
         logMsg = "Error: Unbekannter Fehler beim Compile Vorgang.";
         logMsg = "Error: Unbekannter Fehler beim Compile Vorgang.";
-		break;
-	case 11:
+        break;
+    case 11:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -80,7 +80,7 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += msg.begin()[ 3 ];
         logMsg += msg.begin()[ 3 ];
         logMsg += "' ist nicht definiert.";
         logMsg += "' ist nicht definiert.";
         break;
         break;
-	case 12:
+    case 12:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -90,8 +90,8 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += "' der Funktion '";
         logMsg += "' der Funktion '";
         logMsg += msg.begin()[ 3 ];
         logMsg += msg.begin()[ 3 ];
         logMsg += "' ist nicht definiert.";
         logMsg += "' ist nicht definiert.";
-		break;
-	case 13:
+        break;
+    case 13:
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg = "Error: Compile Fehler in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
@@ -99,40 +99,40 @@ void KSGScript::error( int num, std::initializer_list< char* > msg, KSGScript::K
         logMsg += "' der Befehl '";
         logMsg += "' der Befehl '";
         logMsg += msg.begin()[ 2 ];
         logMsg += msg.begin()[ 2 ];
         logMsg += "' konnte nicht ausgeweret werden.";
         logMsg += "' konnte nicht ausgeweret werden.";
-		break;
-	case 14:
+        break;
+    case 14:
         logMsg = "Warnung: Compile Warnung in Datei '";
         logMsg = "Warnung: Compile Warnung in Datei '";
         logMsg += msg.begin()[ 0 ];
         logMsg += msg.begin()[ 0 ];
         logMsg += "' zeile '";
         logMsg += "' zeile '";
         logMsg += msg.begin()[ 1 ];
         logMsg += msg.begin()[ 1 ];
         logMsg += "' die Anzahl der Argumente stimmt nicht mit der Funktion überein.";
         logMsg += "' die Anzahl der Argumente stimmt nicht mit der Funktion überein.";
-		break;
-	case 15:
+        break;
+    case 15:
         logMsg = "Warnung: Der rückgabewert stimmt nicht mit dem Funktionstyp überein.";
         logMsg = "Warnung: Der rückgabewert stimmt nicht mit dem Funktionstyp überein.";
-		break;
-	case 16:
+        break;
+    case 16:
         logMsg = "Warnung: Fehler beim konvertieren einer Variable.";
         logMsg = "Warnung: Fehler beim konvertieren einer Variable.";
-		break;
-	case 17:
+        break;
+    case 17:
         logMsg = "Warnung: Zugriffsfehler auf private Variable.";
         logMsg = "Warnung: Zugriffsfehler auf private Variable.";
-		break;
-	case 18:
+        break;
+    case 18:
         logMsg = "Warnung: Zugriffsfehler auf private Funktion.";
         logMsg = "Warnung: Zugriffsfehler auf private Funktion.";
-		break;
-	case 19:
+        break;
+    case 19:
         logMsg = "Warnung: Funktion konnte nicht gefunden werden.";
         logMsg = "Warnung: Funktion konnte nicht gefunden werden.";
-		break;
-	case 20:
+        break;
+    case 20:
         logMsg = "Warnung: Es wurden nicht alle Parameter für die Funktion angegeben.";
         logMsg = "Warnung: Es wurden nicht alle Parameter für die Funktion angegeben.";
-		break;
-	case 21:
+        break;
+    case 21:
         logMsg = "Warnung: Der Operator konnte nicht gefunden werden.";
         logMsg = "Warnung: Der Operator konnte nicht gefunden werden.";
-		break;
-	case 22:
+        break;
+    case 22:
         logMsg = "Warnung: Ein Befehl konnte nicht richtig ausgeführt werden.";
         logMsg = "Warnung: Ein Befehl konnte nicht richtig ausgeführt werden.";
-		break;
-	}
+        break;
+    }
     if( zObj )
     if( zObj )
         zObj->logNachricht( logMsg );
         zObj->logNachricht( logMsg );
-    std::cout << "KSGS " << (char*)logMsg << "\n";
+    std::cout << "KSGS " << (char *)logMsg << "\n";
 }
 }

+ 2 - 1
ksgScript/Error/Error.h

@@ -1,4 +1,5 @@
 #include <initializer_list>
 #include <initializer_list>
+#include <Betriebssystem.h>
 
 
 namespace KSGScript
 namespace KSGScript
 {
 {
@@ -28,5 +29,5 @@ namespace KSGScript
 #define KSGS_WARNING_OperatorUndefined 21
 #define KSGS_WARNING_OperatorUndefined 21
 #define KSGS_WARNING_WrongExecutionOfOrder 22
 #define KSGS_WARNING_WrongExecutionOfOrder 22
 
 
-	__declspec( dllexport ) void error( int num, std::initializer_list< char* > msg, KSGScript::KSGScriptProcessor *zObj );
+    __declspec( dllexport ) void error( int num, std::initializer_list< const char * > msg, KSGScript::KSGScriptProcessor *zObj );
 }
 }

+ 9 - 9
ksgScript/Funktionen/KSGSRückruf.cpp → ksgScript/Funktionen/KSGSCallback.cpp

@@ -1,4 +1,4 @@
-#include "KSGSRückruf.h"
+#include "KSGSCallback.h"
 #include "../Klassen/KSGSTyp.h"
 #include "../Klassen/KSGSTyp.h"
 #include "../Main/KSGScriptObj.h"
 #include "../Main/KSGScriptObj.h"
 #include "../Befehl/KSGSKlasse.h"
 #include "../Befehl/KSGSKlasse.h"
@@ -7,43 +7,43 @@ using namespace KSGScript;
 
 
 // Inhalt der KSGSRückrufFInstanz Klasse aus KSGSRückruf.h
 // Inhalt der KSGSRückrufFInstanz Klasse aus KSGSRückruf.h
 // Konstruktor
 // Konstruktor
-KSGSRückrufInstanz::KSGSRückrufInstanz( KSGScriptObj *obj )
+KSGSCallbackInstanz::KSGSCallbackInstanz( KSGScriptObj *obj )
     : KSGSFunktionInstanz( new RCArray< KSGSBefehl >(), KSGS_VOID, obj, 0 )
     : KSGSFunktionInstanz( new RCArray< KSGSBefehl >(), KSGS_VOID, obj, 0 )
 {
 {
     parameter = 0;
     parameter = 0;
 }
 }
 
 
 // Destruktor
 // Destruktor
-KSGSRückrufInstanz::~KSGSRückrufInstanz()
+KSGSCallbackInstanz::~KSGSCallbackInstanz()
 {
 {
     if( parameter )
     if( parameter )
         parameter->release();
         parameter->release();
 }
 }
 
 
 // nicht constant
 // nicht constant
-void KSGSRückrufInstanz::setParameter( Array< KSGSVariableDef * > *zDef, RCArray< KSGSVariable > *vars )
+void KSGSCallbackInstanz::setParameter( Array< KSGSVariableDef * > *zDef, RCArray< KSGSVariable > *vars )
 {
 {
     if( parameter )
     if( parameter )
         parameter->release();
         parameter->release();
     parameter = vars;
     parameter = vars;
 }
 }
 
 
-KSGSVariable *KSGSRückrufInstanz::startFunktion()
+KSGSVariable *KSGSCallbackInstanz::startFunktion()
 {
 {
-    return obj->rückruf( parameter ? ( RCArray< KSGSVariable >* )parameter->getThis() : new RCArray< KSGSVariable >() );
+    return obj->callback( parameter ? dynamic_cast<RCArray< KSGSVariable >*>( parameter->getThis() ) : new RCArray< KSGSVariable >() );
 }
 }
 
 
 
 
 // Inhalt der KSGSRückrufFunktion Klasse aus KSGSRückruf.h
 // Inhalt der KSGSRückrufFunktion Klasse aus KSGSRückruf.h
 // Konstruktor
 // Konstruktor
-KSGSRückrufFunktion::KSGSRückrufFunktion()
+KSGSCallbackFunktion::KSGSCallbackFunktion()
     : KSGSFunktion( 0, 0, KSGS_VOID )
     : KSGSFunktion( 0, 0, KSGS_VOID )
 {}
 {}
 
 
 // nicht constant
 // nicht constant
-KSGSFunktionInstanz *KSGSRückrufFunktion::erstellInstanz( KSGScriptObj *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params )
+KSGSFunktionInstanz *KSGSCallbackFunktion::erstellInstanz( KSGScriptObj *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params )
 {
 {
-    KSGSRückrufInstanz *inst = new KSGSRückrufInstanz( obj );
+    KSGSCallbackInstanz *inst = new KSGSCallbackInstanz( obj );
     if( params )
     if( params )
         inst->setParameter( 0, params );
         inst->setParameter( 0, params );
     return inst;
     return inst;

+ 30 - 0
ksgScript/Funktionen/KSGSCallback.h

@@ -0,0 +1,30 @@
+#include "../Befehl/KSGSFunktion.h"
+
+namespace KSGScript
+{
+    class KSGScriptObj;
+
+    class KSGSCallbackInstanz : public KSGSFunktionInstanz
+    {
+    private:
+        RCArray< KSGSVariable > *parameter;
+
+    public:
+        // Konstruktor
+        __declspec( dllexport ) KSGSCallbackInstanz( KSGScriptObj *obj );
+        // Destruktor
+        __declspec( dllexport ) ~KSGSCallbackInstanz();
+        // nicht constant
+        __declspec( dllexport ) virtual void setParameter( Array< KSGSVariableDef * > *zDef, RCArray< KSGSVariable > *vars ) override;
+        __declspec( dllexport ) virtual KSGSVariable *startFunktion() override;
+    };
+
+    class KSGSCallbackFunktion : public KSGSFunktion
+    {
+    public:
+        // Konstruktor
+        __declspec( dllexport ) KSGSCallbackFunktion();
+        // nicht constant
+        __declspec( dllexport ) virtual KSGSFunktionInstanz *erstellInstanz( KSGScriptObj *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params );
+    };
+}

+ 0 - 30
ksgScript/Funktionen/KSGSRückruf.h

@@ -1,30 +0,0 @@
-#include "../Befehl/KSGSFunktion.h"
-
-namespace KSGScript
-{
-    class KSGScriptObj;
-
-	class KSGSRückrufInstanz : public KSGSFunktionInstanz
-	{
-	private:
-		RCArray< KSGSVariable > *parameter;
-
-	public:
-		// Konstruktor
-		__declspec( dllexport ) KSGSRückrufInstanz( KSGScriptObj *obj );
-		// Destruktor
-		__declspec( dllexport ) ~KSGSRückrufInstanz();
-		// nicht constant
-		__declspec( dllexport ) virtual void setParameter( Array< KSGSVariableDef* > *zDef, RCArray< KSGSVariable > *vars ) override;
-		__declspec( dllexport ) virtual KSGSVariable *startFunktion() override;
-	};
-
-	class KSGSRückrufFunktion : public KSGSFunktion
-	{
-	public:
-		// Konstruktor
-		__declspec( dllexport ) KSGSRückrufFunktion();
-		// nicht constant
-		__declspec( dllexport ) virtual KSGSFunktionInstanz *erstellInstanz( KSGScriptObj *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params );
-	};
-}

+ 4 - 4
ksgScript/Include/KSGScript.h

@@ -80,7 +80,7 @@ namespace KSGScript
         virtual Framework::Schrift *zSchrift() const = 0;
         virtual Framework::Schrift *zSchrift() const = 0;
         virtual int getFunktionId( const char *name ) const = 0;
         virtual int getFunktionId( const char *name ) const = 0;
         virtual bool istBeendet( int scrId ) const = 0;
         virtual bool istBeendet( int scrId ) const = 0;
-        virtual KSGSVariable *rückruf( Framework::RCArray< KSGSVariable > *parameter ) const = 0;
+        virtual KSGSVariable *callback( Framework::RCArray< KSGSVariable > *parameter ) const = 0;
     };
     };
 
 
     /*
     /*
@@ -110,9 +110,9 @@ namespace KSGScript
         virtual void setScriptDatei( const char *pfad ) = 0;
         virtual void setScriptDatei( const char *pfad ) = 0;
         virtual void setScriptDatei( Framework::Text *pfad ) = 0;
         virtual void setScriptDatei( Framework::Text *pfad ) = 0;
         virtual bool neuLaden() = 0;
         virtual bool neuLaden() = 0;
-        virtual void zurücksetzen() = 0;
-        virtual void setRückrufParam( void *p ) = 0;
-        virtual void setRückrufFunktion( void( *funktion )( void *, Framework::RCArray< KSGSVariable > *, KSGSVariable ** ) ) = 0;
+        virtual void reset() = 0;
+        virtual void setCallbackParam( void *p ) = 0;
+        virtual void setCallbackFunktion( void( *funktion )( void *, Framework::RCArray< KSGSVariable > *, KSGSVariable ** ) ) = 0;
         virtual void setSchriftZ( Framework::Schrift *s ) = 0;
         virtual void setSchriftZ( Framework::Schrift *s ) = 0;
         virtual void setBildschirmZ( Framework::Bildschirm *s ) = 0;
         virtual void setBildschirmZ( Framework::Bildschirm *s ) = 0;
         virtual void doPublicMausEreignis( Framework::MausEreignis &me ) = 0;
         virtual void doPublicMausEreignis( Framework::MausEreignis &me ) = 0;

+ 4 - 4
ksgScript/Klassen/KSGSAnimation2D.cpp

@@ -54,7 +54,7 @@ KSGSVariable *KSGSAnimation2DKlasse::startFunktion( int id, bool access, RCArray
     case 4: // void setAlphaMaske( int )
     case 4: // void setAlphaMaske( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
             error( 20, {}, obj );
             error( 20, {}, obj );
-        val->setAlphaMaske( parameter->z( 0 ) ? parameter->z( 0 )->getInt() : 0 );
+        val->setAlphaMaske( parameter->z( 0 ) ? (unsigned char)parameter->z( 0 )->getInt() : (unsigned char)0 );
         break;
         break;
     case 5: // void setAPS( int )
     case 5: // void setAPS( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
@@ -112,7 +112,7 @@ KSGSVariable *KSGSAnimation2DKlasse::startFunktion( int id, bool access, RCArray
             if( parameter->getEintragAnzahl() < 1 )
             if( parameter->getEintragAnzahl() < 1 )
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
-            val->setToolTipText( txt ? *txt : 0, obj->zBildschirm(), obj->zSchrift() );
+            val->setToolTipText( txt ? (const char *)*txt : 0, obj->zBildschirm(), obj->zSchrift() );
             if( txt )
             if( txt )
                 txt->release();
                 txt->release();
         }
         }
@@ -164,7 +164,7 @@ KSGSVariable *KSGSAnimation2DKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getAnimation2D();
             val = rechts->getAnimation2D();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -178,7 +178,7 @@ KSGSVariable *KSGSAnimation2DKlasse::doOperator( int id, KSGSVariable *rechts )
 // constant
 // constant
 Animation2D *KSGSAnimation2DKlasse::getVal() const
 Animation2D *KSGSAnimation2DKlasse::getVal() const
 {
 {
-    return (Animation2D *)val->getThis();
+    return dynamic_cast<Animation2D *>( val->getThis() );
 }
 }
 
 
 Animation2D *KSGSAnimation2DKlasse::zVal() const
 Animation2D *KSGSAnimation2DKlasse::zVal() const

+ 2 - 2
ksgScript/Klassen/KSGSAnimation2DData.cpp

@@ -115,7 +115,7 @@ KSGSVariable *KSGSAnimation2DDataKlasse::doOperator( int id, KSGSVariable *recht
         {
         {
             val->release();
             val->release();
             val = rechts->getAnimation2DData();
             val = rechts->getAnimation2DData();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -129,7 +129,7 @@ KSGSVariable *KSGSAnimation2DDataKlasse::doOperator( int id, KSGSVariable *recht
 // constant
 // constant
 Animation2DData *KSGSAnimation2DDataKlasse::getVal() const
 Animation2DData *KSGSAnimation2DDataKlasse::getVal() const
 {
 {
-    return (Animation2DData *)val->getThis();
+    return dynamic_cast<Animation2DData *>( val->getThis() );
 }
 }
 
 
 Animation2DData *KSGSAnimation2DDataKlasse::zVal() const
 Animation2DData *KSGSAnimation2DDataKlasse::zVal() const

+ 2 - 2
ksgScript/Klassen/KSGSArray.cpp

@@ -100,7 +100,7 @@ KSGSVariable *KSGSArrayKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getArray();
             val = rechts->getArray();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -113,7 +113,7 @@ KSGSVariable *KSGSArrayKlasse::doOperator( int id, KSGSVariable *rechts )
 // constant
 // constant
 RCArray< KSGSVariable > *KSGSArrayKlasse::getVal() const
 RCArray< KSGSVariable > *KSGSArrayKlasse::getVal() const
 {
 {
-    return ( RCArray< KSGSVariable > * )val->getThis();
+    return dynamic_cast<RCArray< KSGSVariable >*>( val->getThis() );
 }
 }
 
 
 RCArray< KSGSVariable > *KSGSArrayKlasse::zVal() const
 RCArray< KSGSVariable > *KSGSArrayKlasse::zVal() const

+ 2 - 2
ksgScript/Klassen/KSGSBild.cpp

@@ -304,7 +304,7 @@ KSGSVariable *KSGSBildKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getBild();
             val = rechts->getBild();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -318,7 +318,7 @@ KSGSVariable *KSGSBildKlasse::doOperator( int id, KSGSVariable *rechts )
 // constant
 // constant
 Bild *KSGSBildKlasse::getVal() const
 Bild *KSGSBildKlasse::getVal() const
 {
 {
-    return (Bild *)val->getThis();
+    return dynamic_cast<Bild *>( val->getThis() );
 }
 }
 
 
 Bild *KSGSBildKlasse::zVal() const
 Bild *KSGSBildKlasse::zVal() const

+ 3 - 3
ksgScript/Klassen/KSGSBildZ.cpp

@@ -124,7 +124,7 @@ KSGSVariable *KSGSBildZKlasse::startFunktion( int id, bool access, RCArray< KSGS
             if( parameter->getEintragAnzahl() < 1 )
             if( parameter->getEintragAnzahl() < 1 )
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
-            val->setToolTipText( txt ? *txt : 0, obj->zBildschirm(), obj->zSchrift() );
+            val->setToolTipText( txt ? (const char *)*txt : 0, obj->zBildschirm(), obj->zSchrift() );
             if( txt )
             if( txt )
                 txt->release();
                 txt->release();
         }
         }
@@ -176,7 +176,7 @@ KSGSVariable *KSGSBildZKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getBildZ();
             val = rechts->getBildZ();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -206,7 +206,7 @@ bool KSGSBildZKlasse::doMausEreignis( MausEreignis &me )
 // constant
 // constant
 BildZ *KSGSBildZKlasse::getVal() const
 BildZ *KSGSBildZKlasse::getVal() const
 {
 {
-    return (BildZ *)val->getThis();
+    return dynamic_cast<BildZ *>( val->getThis() );
 }
 }
 
 
 BildZ *KSGSBildZKlasse::zVal() const
 BildZ *KSGSBildZKlasse::zVal() const

+ 10 - 9
ksgScript/Klassen/KSGSBool.cpp

@@ -36,27 +36,27 @@ KSGSVariable *KSGSBoolKlasse::doOperator( int id, KSGSVariable *rechts )
     {
     {
     case KSGS_O_SET:
     case KSGS_O_SET:
         val = rechts->getBool();
         val = rechts->getBool();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_PLUSSET:
     case KSGS_O_PLUSSET:
         val = ( val + rechts->getBool() ) != 0;
         val = ( val + rechts->getBool() ) != 0;
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MINUSSET:
     case KSGS_O_MINUSSET:
         val = ( val - rechts->getBool() ) != 0;
         val = ( val - rechts->getBool() ) != 0;
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MAHLSET:
     case KSGS_O_MAHLSET:
         val = ( val * rechts->getBool() ) != 0;
         val = ( val * rechts->getBool() ) != 0;
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_UNDSET:
     case KSGS_O_UNDSET:
         val &= rechts->getBool();
         val &= rechts->getBool();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_ODERSET:
     case KSGS_O_ODERSET:
         val |= rechts->getBool();
         val |= rechts->getBool();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GLEICH:
     case KSGS_O_GLEICH:
         ret = new KSGSBoolKlasse( obj, val == rechts->getBool() );
         ret = new KSGSBoolKlasse( obj, val == rechts->getBool() );
@@ -64,7 +64,7 @@ KSGSVariable *KSGSBoolKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINERGLEICH:
     case KSGS_O_KLEINERGLEICH:
         ret = new KSGSBoolKlasse( obj, val <= rechts->getBool() );
         ret = new KSGSBoolKlasse( obj, val <= rechts->getBool() );
         break;
         break;
-    case KSGS_O_GRÖßERGLEICH:
+    case KSGS_O_GREATERGLEICH:
         ret = new KSGSBoolKlasse( obj, val >= rechts->getBool() );
         ret = new KSGSBoolKlasse( obj, val >= rechts->getBool() );
         break;
         break;
     case KSGS_O_UNGLEICH:
     case KSGS_O_UNGLEICH:
@@ -73,7 +73,7 @@ KSGSVariable *KSGSBoolKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINER:
     case KSGS_O_KLEINER:
         ret = new KSGSBoolKlasse( obj, val < rechts->getBool() );
         ret = new KSGSBoolKlasse( obj, val < rechts->getBool() );
         break;
         break;
-    case KSGS_O_GRÖßER:
+    case KSGS_O_GREATER:
         ret = new KSGSBoolKlasse( obj, val > rechts->getBool() );
         ret = new KSGSBoolKlasse( obj, val > rechts->getBool() );
         break;
         break;
     case KSGS_O_ODER:
     case KSGS_O_ODER:
@@ -98,7 +98,8 @@ KSGSVariable *KSGSBoolKlasse::doOperator( int id, KSGSVariable *rechts )
         ret = new KSGSBoolKlasse( obj, ( val * rechts->getBool() ) != 0 );
         ret = new KSGSBoolKlasse( obj, ( val * rechts->getBool() ) != 0 );
         break;
         break;
     case KSGS_O_PLUS1:
     case KSGS_O_PLUS1:
-        ret = new KSGSBoolKlasse( obj, val++ != 0 );
+        ret = new KSGSBoolKlasse( obj, val != 0 );
+        val = 1;
         break;
         break;
     case KSGS_O_MINUS1:
     case KSGS_O_MINUS1:
         ret = new KSGSBoolKlasse( obj, ( val - 1 ) != 0 );
         ret = new KSGSBoolKlasse( obj, ( val - 1 ) != 0 );

+ 9 - 9
ksgScript/Klassen/KSGSDouble.cpp

@@ -41,31 +41,31 @@ KSGSVariable *KSGSDoubleKlasse::doOperator( int id, KSGSVariable *rechts )
     {
     {
     case KSGS_O_SET:
     case KSGS_O_SET:
         val = rechts->getDouble();
         val = rechts->getDouble();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_PLUSSET:
     case KSGS_O_PLUSSET:
         val += rechts->getDouble();
         val += rechts->getDouble();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MINUSSET:
     case KSGS_O_MINUSSET:
         val -= rechts->getDouble();
         val -= rechts->getDouble();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MAHLSET:
     case KSGS_O_MAHLSET:
         val *= rechts->getDouble();
         val *= rechts->getDouble();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GETEILTSET:
     case KSGS_O_GETEILTSET:
         val /= rechts->getDouble();
         val /= rechts->getDouble();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_UNDSET:
     case KSGS_O_UNDSET:
         val = (int)val & rechts->getInt();
         val = (int)val & rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_ODERSET:
     case KSGS_O_ODERSET:
         val = (int)val | rechts->getInt();
         val = (int)val | rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GLEICH:
     case KSGS_O_GLEICH:
         ret = new KSGSBoolKlasse( obj, val == rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val == rechts->getDouble() );
@@ -73,7 +73,7 @@ KSGSVariable *KSGSDoubleKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINERGLEICH:
     case KSGS_O_KLEINERGLEICH:
         ret = new KSGSBoolKlasse( obj, val <= rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val <= rechts->getDouble() );
         break;
         break;
-    case KSGS_O_GRÖßERGLEICH:
+    case KSGS_O_GREATERGLEICH:
         ret = new KSGSBoolKlasse( obj, val >= rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val >= rechts->getDouble() );
         break;
         break;
     case KSGS_O_UNGLEICH:
     case KSGS_O_UNGLEICH:
@@ -82,7 +82,7 @@ KSGSVariable *KSGSDoubleKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINER:
     case KSGS_O_KLEINER:
         ret = new KSGSBoolKlasse( obj, val < rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val < rechts->getDouble() );
         break;
         break;
-    case KSGS_O_GRÖßER:
+    case KSGS_O_GREATER:
         ret = new KSGSBoolKlasse( obj, val > rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val > rechts->getDouble() );
         break;
         break;
     case KSGS_O_ODER:
     case KSGS_O_ODER:

+ 5 - 5
ksgScript/Klassen/KSGSFenster.cpp

@@ -24,7 +24,7 @@ KSGSFensterKlasse::KSGSFensterKlasse( KSGScriptProcessor *zObj, Fenster *std )
     val->setTastaturEreignisParameter( this );
     val->setTastaturEreignisParameter( this );
     val->setTastaturEreignis( ksgsFensterTE );
     val->setTastaturEreignis( ksgsFensterTE );
     if( zObj->zSchrift() )
     if( zObj->zSchrift() )
-        val->setTSchriftZ( (Schrift *)zObj->zSchrift()->getThis() );
+        val->setTSchriftZ( dynamic_cast<Schrift *>( zObj->zSchrift()->getThis() ) );
     mausF = -1;
     mausF = -1;
     tastaturF = -1;
     tastaturF = -1;
 }
 }
@@ -212,7 +212,7 @@ KSGSVariable *KSGSFensterKlasse::startFunktion( int id, bool access, RCArray< KS
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Zeichnung *obj = parameter->z( 0 ) ? parameter->z( 0 )->getZeichnung() : 0;
             Zeichnung *obj = parameter->z( 0 ) ? parameter->z( 0 )->getZeichnung() : 0;
             if( obj )
             if( obj )
-                val->addMember( (Zeichnung *)obj->getThis() );
+                val->addMember( dynamic_cast<Zeichnung *>( obj->getThis() ) );
         }
         }
         break;
         break;
     case 33: // void removeMember( Zeichnung )
     case 33: // void removeMember( Zeichnung )
@@ -397,7 +397,7 @@ KSGSVariable *KSGSFensterKlasse::startFunktion( int id, bool access, RCArray< KS
             if( parameter->getEintragAnzahl() < 1 )
             if( parameter->getEintragAnzahl() < 1 )
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
-            val->setToolTipText( txt ? *txt : 0, obj->zBildschirm(), obj->zSchrift() );
+            val->setToolTipText( txt ? (const char *)*txt : 0, obj->zBildschirm(), obj->zSchrift() );
             if( txt )
             if( txt )
                 txt->release();
                 txt->release();
         }
         }
@@ -449,7 +449,7 @@ KSGSVariable *KSGSFensterKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getFenster();
             val = rechts->getFenster();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -495,7 +495,7 @@ bool KSGSFensterKlasse::doTastaturEreignis( TastaturEreignis &te )
 // constant
 // constant
 Fenster *KSGSFensterKlasse::getVal() const
 Fenster *KSGSFensterKlasse::getVal() const
 {
 {
-    return (Fenster *)val->getThis();
+    return dynamic_cast<Fenster *>( val->getThis() );
 }
 }
 
 
 Fenster *KSGSFensterKlasse::zVal() const
 Fenster *KSGSFensterKlasse::zVal() const

+ 9 - 9
ksgScript/Klassen/KSGSInt.cpp

@@ -41,31 +41,31 @@ KSGSVariable *KSGSIntKlasse::doOperator( int id, KSGSVariable *rechts )
     {
     {
     case KSGS_O_SET:
     case KSGS_O_SET:
         val = rechts->getInt();
         val = rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_PLUSSET:
     case KSGS_O_PLUSSET:
         val += rechts->getInt();
         val += rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MINUSSET:
     case KSGS_O_MINUSSET:
         val -= rechts->getInt();
         val -= rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MAHLSET:
     case KSGS_O_MAHLSET:
         val = (int)( val * rechts->getDouble() );
         val = (int)( val * rechts->getDouble() );
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GETEILTSET:
     case KSGS_O_GETEILTSET:
         val = (int)( val / rechts->getDouble() );
         val = (int)( val / rechts->getDouble() );
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_UNDSET:
     case KSGS_O_UNDSET:
         val &= rechts->getInt();
         val &= rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_ODERSET:
     case KSGS_O_ODERSET:
         val |= rechts->getInt();
         val |= rechts->getInt();
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GLEICH:
     case KSGS_O_GLEICH:
         ret = new KSGSBoolKlasse( obj, val == rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val == rechts->getDouble() );
@@ -73,7 +73,7 @@ KSGSVariable *KSGSIntKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINERGLEICH:
     case KSGS_O_KLEINERGLEICH:
         ret = new KSGSBoolKlasse( obj, val <= rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val <= rechts->getDouble() );
         break;
         break;
-    case KSGS_O_GRÖßERGLEICH:
+    case KSGS_O_GREATERGLEICH:
         ret = new KSGSBoolKlasse( obj, val >= rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val >= rechts->getDouble() );
         break;
         break;
     case KSGS_O_UNGLEICH:
     case KSGS_O_UNGLEICH:
@@ -82,7 +82,7 @@ KSGSVariable *KSGSIntKlasse::doOperator( int id, KSGSVariable *rechts )
     case KSGS_O_KLEINER:
     case KSGS_O_KLEINER:
         ret = new KSGSBoolKlasse( obj, val < rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val < rechts->getDouble() );
         break;
         break;
-    case KSGS_O_GRÖßER:
+    case KSGS_O_GREATER:
         ret = new KSGSBoolKlasse( obj, val > rechts->getDouble() );
         ret = new KSGSBoolKlasse( obj, val > rechts->getDouble() );
         break;
         break;
     case KSGS_O_ODER:
     case KSGS_O_ODER:

+ 16 - 16
ksgScript/Klassen/KSGSInt.h

@@ -5,23 +5,23 @@
 
 
 namespace KSGScript
 namespace KSGScript
 {
 {
-	class KSGSIntKlasse : public KSGSKlasseInstanz
-	{
-	private:
-		int val;
+    class KSGSIntKlasse : public KSGSKlasseInstanz
+    {
+    private:
+        int val;
 
 
-	public:
-		// Konstruktor
-		__declspec( dllexport ) KSGSIntKlasse( KSGScriptProcessor *zObj, int std = 0 );
-		// Destruktor
-		__declspec( dllexport ) ~KSGSIntKlasse();
-		// nicht constant
-		__declspec( dllexport ) void set( int i );
-		__declspec( dllexport ) virtual KSGSVariable *doOperator( int id, KSGSVariable *rechts ) override;
-		// constant
-		__declspec( dllexport ) virtual int getVal() const;
-		__declspec( dllexport ) virtual KSGSVariable *umwandelnIn( int typ ) const override;
-	};
+    public:
+        // Konstruktor
+        __declspec( dllexport ) KSGSIntKlasse( KSGScriptProcessor *zObj, int std = 0 );
+        // Destruktor
+        __declspec( dllexport ) ~KSGSIntKlasse();
+        // nicht constant
+        __declspec( dllexport ) void set( int i );
+        __declspec( dllexport ) virtual KSGSVariable *doOperator( int id, KSGSVariable *rechts ) override;
+        // constant
+        __declspec( dllexport ) virtual int getVal() const;
+        __declspec( dllexport ) virtual KSGSVariable *umwandelnIn( int typ ) const override;
+    };
 }
 }
 
 
 #endif
 #endif

+ 5 - 5
ksgScript/Klassen/KSGSKnopf.cpp

@@ -21,7 +21,7 @@ KSGSKnopfKlasse::KSGSKnopfKlasse( KSGScriptProcessor *zObj, Knopf *std )
     val->setMausEreignisParameter( this );
     val->setMausEreignisParameter( this );
     val->setMausEreignis( ksgsKnopfME );
     val->setMausEreignis( ksgsKnopfME );
     if( zObj->zSchrift() )
     if( zObj->zSchrift() )
-        val->setSchriftZ( (Schrift *)zObj->zSchrift()->getThis() );
+        val->setSchriftZ( dynamic_cast<Schrift *>( zObj->zSchrift()->getThis() ) );
 }
 }
 
 
 // Destruktor
 // Destruktor
@@ -54,7 +54,7 @@ KSGSVariable *KSGSKnopfKlasse::startFunktion( int id, bool access, RCArray< KSGS
     case 3: // void setSchriftGröße( int )
     case 3: // void setSchriftGröße( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
             error( 20, {}, obj );
             error( 20, {}, obj );
-        val->setSchriftSize( parameter->z( 0 ) ? parameter->z( 0 )->getInt() : 0 );
+        val->setSchriftSize( parameter->z( 0 ) ? (unsigned char)parameter->z( 0 )->getInt() : (unsigned char)0 );
         break;
         break;
     case 4: // void setSchriftFarbe( int )
     case 4: // void setSchriftFarbe( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
@@ -216,7 +216,7 @@ KSGSVariable *KSGSKnopfKlasse::startFunktion( int id, bool access, RCArray< KSGS
             if( parameter->getEintragAnzahl() < 1 )
             if( parameter->getEintragAnzahl() < 1 )
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
-            val->setToolTipText( txt ? *txt : 0, obj->zBildschirm(), obj->zSchrift() );
+            val->setToolTipText( txt ? (const char *)*txt : 0, obj->zBildschirm(), obj->zSchrift() );
             if( txt )
             if( txt )
                 txt->release();
                 txt->release();
         }
         }
@@ -268,7 +268,7 @@ KSGSVariable *KSGSKnopfKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getKnopf();
             val = rechts->getKnopf();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -298,7 +298,7 @@ bool KSGSKnopfKlasse::doMausEreignis( MausEreignis &me )
 // constant
 // constant
 Knopf *KSGSKnopfKlasse::getVal() const
 Knopf *KSGSKnopfKlasse::getVal() const
 {
 {
-    return (Knopf *)val->getThis();
+    return dynamic_cast<Knopf *>( val->getThis() );
 }
 }
 
 
 Knopf *KSGSKnopfKlasse::zVal() const
 Knopf *KSGSKnopfKlasse::zVal() const

+ 1 - 1
ksgScript/Klassen/KSGSMausEreignis.cpp

@@ -76,7 +76,7 @@ KSGSVariable *KSGSMausEreignisKlasse::doOperator( int id, KSGSVariable *rechts )
         if( 1 )
         if( 1 )
         {
         {
             val = rechts->getMausEreignis();
             val = rechts->getMausEreignis();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }

+ 2 - 2
ksgScript/Klassen/KSGSTastaturEreignis.cpp

@@ -32,7 +32,7 @@ KSGSVariable *KSGSTastaturEreignisKlasse::startFunktion( int id, bool access, RC
     case 1: // void setTaste( int taste )
     case 1: // void setTaste( int taste )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
             error( 20, {}, obj );
             error( 20, {}, obj );
-        val.taste = parameter->z( 0 ) ? parameter->z( 0 )->getInt() : 0;
+        val.taste = parameter->z( 0 ) ? (unsigned char)parameter->z( 0 )->getInt() : (unsigned char)0;
         break;
         break;
     case 2: // void setVerarbeitet( bool verarbeitet )
     case 2: // void setVerarbeitet( bool verarbeitet )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
@@ -66,7 +66,7 @@ KSGSVariable *KSGSTastaturEreignisKlasse::doOperator( int id, KSGSVariable *rech
         if( 1 )
         if( 1 )
         {
         {
             val = rechts->getTastaturEreignis();
             val = rechts->getTastaturEreignis();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }

+ 7 - 7
ksgScript/Klassen/KSGSText.cpp

@@ -9,7 +9,7 @@ using namespace KSGScript;
 
 
 // Inhalt der KSGSTextKlasse Klasse aus KSGSText.h
 // Inhalt der KSGSTextKlasse Klasse aus KSGSText.h
 // Konstruktor
 // Konstruktor
-KSGSTextKlasse::KSGSTextKlasse( KSGScriptProcessor *zObj, char *std )
+KSGSTextKlasse::KSGSTextKlasse( KSGScriptProcessor *zObj, const char *std )
     : KSGSKlasseInstanz( KSGS_TEXT, 0, 0, zObj )
     : KSGSKlasseInstanz( KSGS_TEXT, 0, 0, zObj )
 {
 {
     val = new Text( std );
     val = new Text( std );
@@ -117,15 +117,15 @@ KSGSVariable *KSGSTextKlasse::doOperator( int id, KSGSVariable *rechts )
     {
     {
     case KSGS_O_SET:
     case KSGS_O_SET:
         val->setText( rechts->getText() );
         val->setText( rechts->getText() );
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_PLUSSET:
     case KSGS_O_PLUSSET:
         val->append( rechts->getText() );
         val->append( rechts->getText() );
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_MINUSSET:
     case KSGS_O_MINUSSET:
         val->append( rechts->getText() );
         val->append( rechts->getText() );
-        ret = (KSGSVariable *)getThis();
+        ret = dynamic_cast<KSGSVariable *>( getThis() );
         break;
         break;
     case KSGS_O_GLEICH:
     case KSGS_O_GLEICH:
         ret = new KSGSBoolKlasse( obj, val->istGleich( rechts->getText() ) );
         ret = new KSGSBoolKlasse( obj, val->istGleich( rechts->getText() ) );
@@ -138,7 +138,7 @@ KSGSVariable *KSGSTextKlasse::doOperator( int id, KSGSVariable *rechts )
             txt->release();
             txt->release();
         }
         }
         break;
         break;
-    case KSGS_O_GRÖßERGLEICH:
+    case KSGS_O_GREATERGLEICH:
         if( 1 )
         if( 1 )
         {
         {
             Text *txt = rechts->getText();
             Text *txt = rechts->getText();
@@ -157,7 +157,7 @@ KSGSVariable *KSGSTextKlasse::doOperator( int id, KSGSVariable *rechts )
             txt->release();
             txt->release();
         }
         }
         break;
         break;
-    case KSGS_O_GRÖßER:
+    case KSGS_O_GREATER:
         if( 1 )
         if( 1 )
         {
         {
             Text *txt = rechts->getText();
             Text *txt = rechts->getText();
@@ -192,7 +192,7 @@ KSGSVariable *KSGSTextKlasse::doOperator( int id, KSGSVariable *rechts )
 // constant
 // constant
 Text *KSGSTextKlasse::getVal() const
 Text *KSGSTextKlasse::getVal() const
 {
 {
-    return (Text *)val->getThis();
+    return dynamic_cast<Text *>( val->getThis() );
 }
 }
 
 
 Text *KSGSTextKlasse::zVal() const
 Text *KSGSTextKlasse::zVal() const

+ 1 - 1
ksgScript/Klassen/KSGSText.h

@@ -12,7 +12,7 @@ namespace KSGScript
 
 
     public:
     public:
         // Konstruktor
         // Konstruktor
-        __declspec( dllexport ) KSGSTextKlasse( KSGScriptProcessor *zObj, char *std = "" );
+        __declspec( dllexport ) KSGSTextKlasse( KSGScriptProcessor *zObj, const char *std = "" );
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~KSGSTextKlasse();
         __declspec( dllexport ) ~KSGSTextKlasse();
         // nicht constant
         // nicht constant

+ 5 - 5
ksgScript/Klassen/KSGSTextFeld.cpp

@@ -26,7 +26,7 @@ KSGSTextFeldKlasse::KSGSTextFeldKlasse( KSGScriptProcessor *zObj, TextFeld *std
     val->setTastaturEreignisParameter( this );
     val->setTastaturEreignisParameter( this );
     val->setTastaturEreignis( ksgsTextFeldTE );
     val->setTastaturEreignis( ksgsTextFeldTE );
     if( zObj->zSchrift() )
     if( zObj->zSchrift() )
-        val->setSchriftZ( (Schrift *)zObj->zSchrift()->getThis() );
+        val->setSchriftZ( dynamic_cast<Schrift *>( zObj->zSchrift()->getThis() ) );
 }
 }
 
 
 // Destruktor
 // Destruktor
@@ -75,7 +75,7 @@ KSGSVariable *KSGSTextFeldKlasse::startFunktion( int id, bool access, RCArray< K
     case 5: // void setSchriftGröße( int )
     case 5: // void setSchriftGröße( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
             error( 20, {}, obj );
             error( 20, {}, obj );
-        val->setSchriftSize( parameter->z( 0 ) ? parameter->z( 0 )->getInt() : 0 );
+        val->setSchriftSize( parameter->z( 0 ) ? (unsigned char)parameter->z( 0 )->getInt() : (unsigned char)0 );
         break;
         break;
     case 6: // void setSchriftFarbe( int )
     case 6: // void setSchriftFarbe( int )
         if( parameter->getEintragAnzahl() < 1 )
         if( parameter->getEintragAnzahl() < 1 )
@@ -261,7 +261,7 @@ KSGSVariable *KSGSTextFeldKlasse::startFunktion( int id, bool access, RCArray< K
             if( parameter->getEintragAnzahl() < 1 )
             if( parameter->getEintragAnzahl() < 1 )
                 error( 20, {}, obj );
                 error( 20, {}, obj );
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
             Text *txt = parameter->z( 0 ) ? parameter->z( 0 )->getText() : 0;
-            val->setToolTipText( txt ? *txt : 0, obj->zBildschirm(), obj->zSchrift() );
+            val->setToolTipText( txt ? (const char *)*txt : 0, obj->zBildschirm(), obj->zSchrift() );
             if( txt )
             if( txt )
                 txt->release();
                 txt->release();
         }
         }
@@ -335,7 +335,7 @@ KSGSVariable *KSGSTextFeldKlasse::doOperator( int id, KSGSVariable *rechts )
         {
         {
             val->release();
             val->release();
             val = rechts->getTextFeld();
             val = rechts->getTextFeld();
-            ret = (KSGSVariable *)getThis();
+            ret = dynamic_cast<KSGSVariable *>( getThis() );
         }
         }
         break;
         break;
     }
     }
@@ -381,7 +381,7 @@ bool KSGSTextFeldKlasse::doTastaturEreignis( TastaturEreignis &te )
 // constant
 // constant
 TextFeld *KSGSTextFeldKlasse::getVal() const
 TextFeld *KSGSTextFeldKlasse::getVal() const
 {
 {
-    return (TextFeld *)val->getThis();
+    return dynamic_cast<TextFeld *>( val->getThis() );
 }
 }
 
 
 TextFeld *KSGSTextFeldKlasse::zVal() const
 TextFeld *KSGSTextFeldKlasse::zVal() const

+ 1 - 1
ksgScript/Klassen/KSGSThread.cpp

@@ -48,7 +48,7 @@ KSGSVariable *KSGSThreadKlasse::startFunktion( int id, bool access, RCArray< KSG
         if( func )
         if( func )
         {
         {
             parameter->release();
             parameter->release();
-            return new KSGSBoolKlasse( obj, func->wirdAusgeführt() );
+            return new KSGSBoolKlasse( obj, func->isExecuting() );
         }
         }
         break;
         break;
     case 4: // int warteAufThread( int zeit )
     case 4: // int warteAufThread( int zeit )

+ 2 - 2
ksgScript/Klassen/KSGSTyp.h

@@ -36,10 +36,10 @@
 #define KSGS_O_ODERSET        6
 #define KSGS_O_ODERSET        6
 #define KSGS_O_GLEICH         7
 #define KSGS_O_GLEICH         7
 #define KSGS_O_KLEINERGLEICH  8
 #define KSGS_O_KLEINERGLEICH  8
-#define KSGS_O_GRÖßERGLEICH   9
+#define KSGS_O_GREATERGLEICH   9
 #define KSGS_O_UNGLEICH       10
 #define KSGS_O_UNGLEICH       10
 #define KSGS_O_KLEINER        11
 #define KSGS_O_KLEINER        11
-#define KSGS_O_GRÖßER         12
+#define KSGS_O_GREATER         12
 #define KSGS_O_ODER           13
 #define KSGS_O_ODER           13
 #define KSGS_O_UND            14
 #define KSGS_O_UND            14
 #define KSGS_O_BITODER        15
 #define KSGS_O_BITODER        15

+ 28 - 28
ksgScript/Leser/KSGSLeser.cpp

@@ -4,7 +4,7 @@
 #include "KSGSCompile.h"
 #include "KSGSCompile.h"
 #include "../Befehl/KSGSKlasse.h"
 #include "../Befehl/KSGSKlasse.h"
 #include "../Klassen/KSGSTyp.h"
 #include "../Klassen/KSGSTyp.h"
-#include "../Funktionen/KSGSRückruf.h"
+#include "../Funktionen/KSGSCallback.h"
 #include "../Main/KSGScriptObj.h"
 #include "../Main/KSGScriptObj.h"
 
 
 using namespace KSGScript;
 using namespace KSGScript;
@@ -64,7 +64,7 @@ int KSGScript::hatOperator( Text *txt )
     if( txt->hat( "<=" ) )
     if( txt->hat( "<=" ) )
         return KSGS_O_KLEINERGLEICH;
         return KSGS_O_KLEINERGLEICH;
     if( txt->hat( ">=" ) )
     if( txt->hat( ">=" ) )
-        return KSGS_O_GRÖßERGLEICH;
+        return KSGS_O_GREATERGLEICH;
     if( txt->hat( "!=" ) )
     if( txt->hat( "!=" ) )
         return KSGS_O_UNGLEICH;
         return KSGS_O_UNGLEICH;
     if( txt->hat( "||" ) )
     if( txt->hat( "||" ) )
@@ -84,7 +84,7 @@ int KSGScript::hatOperator( Text *txt )
     if( txt->hat( "<" ) )
     if( txt->hat( "<" ) )
         return KSGS_O_KLEINER;
         return KSGS_O_KLEINER;
     if( txt->hat( ">" ) )
     if( txt->hat( ">" ) )
-        return KSGS_O_GRÖßER;
+        return KSGS_O_GREATER;
     if( txt->hat( "|" ) )
     if( txt->hat( "|" ) )
         return KSGS_O_BITODER;
         return KSGS_O_BITODER;
     if( txt->hat( "&" ) )
     if( txt->hat( "&" ) )
@@ -106,9 +106,9 @@ int KSGScript::hatOperator( Text *txt )
     return -1;
     return -1;
 }
 }
 
 
-int KSGScript::getOperatorPos( Text *txt, int *län )
+int KSGScript::getOperatorPos( Text *txt, int *len )
 {
 {
-    *län = 2;
+    *len = 2;
     if( txt->hat( "+=" ) )
     if( txt->hat( "+=" ) )
         return txt->positionVon( "+=" );
         return txt->positionVon( "+=" );
     if( txt->hat( "-=" ) )
     if( txt->hat( "-=" ) )
@@ -141,7 +141,7 @@ int KSGScript::getOperatorPos( Text *txt, int *l
         return txt->positionVon( "<<" );
         return txt->positionVon( "<<" );
     if( txt->hat( ">>" ) )
     if( txt->hat( ">>" ) )
         return txt->positionVon( ">>" );
         return txt->positionVon( ">>" );
-    *län = 1;
+    *len = 1;
     if( txt->hat( "=" ) )
     if( txt->hat( "=" ) )
         return txt->positionVon( "=" );
         return txt->positionVon( "=" );
     if( txt->hat( "<" ) )
     if( txt->hat( "<" ) )
@@ -166,7 +166,7 @@ int KSGScript::getOperatorPos( Text *txt, int *l
         return txt->positionVon( "!" );
         return txt->positionVon( "!" );
     if( txt->hat( "~" ) )
     if( txt->hat( "~" ) )
         return txt->positionVon( "~" );
         return txt->positionVon( "~" );
-    *län = 0;
+    *len = 0;
     return -1;
     return -1;
 }
 }
 
 
@@ -1010,12 +1010,12 @@ KSGSLeseBefehl *KSGSLeser::leseBefehl()
                 delete ret;
                 delete ret;
                 return 0;
                 return 0;
             }
             }
-            int län = (int)( endPos - d->getLPosition() );
-            if( län )
+            int len = (int)( endPos - d->getLPosition() );
+            if( len )
             {
             {
-                char *txt = new char[ län + 1 ];
-                txt[ län ] = 0;
-                d->lese( txt, län );
+                char *txt = new char[ len + 1 ];
+                txt[ len ] = 0;
+                d->lese( txt, len );
                 ret->befehl = txt;
                 ret->befehl = txt;
                 delete[] txt;
                 delete[] txt;
             }
             }
@@ -1037,12 +1037,12 @@ KSGSLeseBefehl *KSGSLeser::leseBefehl()
                 delete ret;
                 delete ret;
                 return 0;
                 return 0;
             }
             }
-            int län = (int)( endPos - d->getLPosition() );
-            if( län )
+            int len = (int)( endPos - d->getLPosition() );
+            if( len )
             {
             {
-                char *txt = new char[ län + 1 ];
-                txt[ län ] = 0;
-                d->lese( txt, län );
+                char *txt = new char[ len + 1 ];
+                txt[ len ] = 0;
+                d->lese( txt, len );
                 ret->befehl = txt;
                 ret->befehl = txt;
                 delete[] txt;
                 delete[] txt;
             }
             }
@@ -1129,12 +1129,12 @@ KSGSLeseBefehl *KSGSLeser::leseBefehl()
                 delete ret;
                 delete ret;
                 return 0;
                 return 0;
             }
             }
-            int län = (int)( endPos - d->getLPosition() );
-            if( län )
+            int len = (int)( endPos - d->getLPosition() );
+            if( len )
             {
             {
-                char *txt = new char[ län + 1 ];
-                txt[ län ] = 0;
-                d->lese( txt, län );
+                char *txt = new char[ len + 1 ];
+                txt[ len ] = 0;
+                d->lese( txt, len );
                 ret->befehl = txt;
                 ret->befehl = txt;
                 delete[] txt;
                 delete[] txt;
             }
             }
@@ -1171,12 +1171,12 @@ KSGSLeseBefehl *KSGSLeser::leseBefehl()
                 delete ret;
                 delete ret;
                 return 0;
                 return 0;
             }
             }
-            int län = (int)( endPos - d->getLPosition() );
-            if( län )
+            int len = (int)( endPos - d->getLPosition() );
+            if( len )
             {
             {
-                char *txt = new char[ län + 1 ];
-                txt[ län ] = 0;
-                d->lese( txt, län );
+                char *txt = new char[ len + 1 ];
+                txt[ len ] = 0;
+                d->lese( txt, len );
                 ret->befehl = txt;
                 ret->befehl = txt;
                 delete[] txt;
                 delete[] txt;
             }
             }
@@ -1514,7 +1514,7 @@ bool KSGSLeser::compile( RCArray< KSGSKlasse > *klassen, RCArray< KSGSFunktion >
         }
         }
         klassen->add( k );
         klassen->add( k );
     }
     }
-    funktionen->add( new KSGSRückrufFunktion() );
+    funktionen->add( new KSGSCallbackFunktion() );
     for( int i = 0; i < fAnz; i++ )
     for( int i = 0; i < fAnz; i++ )
     {
     {
         KSGSFunktion *f = buildFunktion( dat->funktionen.get( i ), klassT, funcT, varT );
         KSGSFunktion *f = buildFunktion( dat->funktionen.get( i ), klassT, funcT, varT );

+ 1 - 1
ksgScript/Leser/KSGSLeser.h

@@ -22,7 +22,7 @@ namespace KSGScript
     __declspec( dllexport ) void removeLehr( Text *txt );
     __declspec( dllexport ) void removeLehr( Text *txt );
     __declspec( dllexport ) void removeKlammer( Text *txt );
     __declspec( dllexport ) void removeKlammer( Text *txt );
     __declspec( dllexport ) int hatOperator( Text *txt );
     __declspec( dllexport ) int hatOperator( Text *txt );
-    __declspec( dllexport ) int getOperatorPos( Text *txt, int *län );
+    __declspec( dllexport ) int getOperatorPos( Text *txt, int *len );
 
 
     struct KSGSLeseDebug
     struct KSGSLeseDebug
     {
     {

+ 23 - 23
ksgScript/Main/Einstieg.cpp

@@ -8,34 +8,34 @@ using namespace KSGScript;
 
 
 extern "C"
 extern "C"
 {
 {
-	__declspec( dllexport ) KSGScriptObj *GetNewKSGScriptObj()
-	{
-		return new KSGScriptO();
-	}
+    __declspec( dllexport ) KSGScriptObj *GetNewKSGScriptObj()
+    {
+        return new KSGScriptO();
+    }
 
 
     __declspec( dllexport ) KSGScriptEditor *GetNewKSGEditorObj()
     __declspec( dllexport ) KSGScriptEditor *GetNewKSGEditorObj()
     {
     {
         return new Editor();
         return new Editor();
     }
     }
 
 
-	__declspec( dllexport ) KSGSVariable *GetNewKSGSVariable( KSGScriptObj *zObj, KSGSVariableDef *def )
-	{
-		return KSGSKlasseInstanz::erstellVariable( zObj, def );
-	}
+    __declspec( dllexport ) KSGSVariable *GetNewKSGSVariable( KSGScriptObj *zObj, KSGSVariableDef *def )
+    {
+        return KSGSKlasseInstanz::erstellVariable( zObj, def );
+    }
 
 
-	__declspec( dllexport ) KSGSExpressionEvaluator *GetNewKSGSExpressionEvaluator()
-	{
-		return new KSGSExpressionEvaluatorImpl();
-	}
-	__declspec( dllexport ) void SetKSGSBildVariable( KSGSVariable *zBv, Bild *b )
-	{
-		if( !b )
-			return;
-		if( zBv->getTyp() != KSGS_BILD )
-		{
-			b->release();
-			return;
-		}
-		( (KSGSBildKlasse*)zBv )->set( b );
-	}
+    __declspec( dllexport ) KSGSExpressionEvaluator *GetNewKSGSExpressionEvaluator()
+    {
+        return new KSGSExpressionEvaluatorImpl();
+    }
+    __declspec( dllexport ) void SetKSGSBildVariable( KSGSVariable *zBv, Bild *b )
+    {
+        if( !b )
+            return;
+        if( zBv->getTyp() != KSGS_BILD )
+        {
+            b->release();
+            return;
+        }
+        ( (KSGSBildKlasse *)zBv )->set( b );
+    }
 }
 }

+ 8 - 8
ksgScript/Main/KSGSExpressionEvaluator.cpp

@@ -1,7 +1,7 @@
 #include "KSGSExpressionEvaluator.h"
 #include "KSGSExpressionEvaluator.h"
-#include "..\Leser\KSGSLeser.h"
-#include "..\Befehl\KSGSKlasse.h"
-#include "..\Error\Error.h"
+#include "../Leser/KSGSLeser.h"
+#include "../Befehl/KSGSKlasse.h"
+#include "../Error/Error.h"
 #include <iostream>
 #include <iostream>
 
 
 using namespace KSGScript;
 using namespace KSGScript;
@@ -84,7 +84,7 @@ void KSGSExpressionEvaluatorImpl::compile()
         if( it.hasNext() )
         if( it.hasNext() )
             script += ", ";
             script += ", ";
     }
     }
-    script += ") { return " + expression + Text( "; }" );
+    script += Text( ") { return " ) + expression + Text( "; }" );
     TextReader *expressionReader = new TextReader( new Text( script ) );
     TextReader *expressionReader = new TextReader( new Text( script ) );
     KSGSLeser *reader = new KSGSLeser( expressionReader, this, "expression" );
     KSGSLeser *reader = new KSGSLeser( expressionReader, this, "expression" );
     if( !reader->laden() )
     if( !reader->laden() )
@@ -117,7 +117,7 @@ KSGSVariable *KSGSExpressionEvaluatorImpl::createParameter( Framework::Text name
 {
 {
     this->paramNames->add( new Text( name ) );
     this->paramNames->add( new Text( name ) );
     KSGSVariable *var = KSGSKlasseInstanz::erstellVariable( this, new KSGSVariableDef{ type, 0, 0, "" } );
     KSGSVariable *var = KSGSKlasseInstanz::erstellVariable( this, new KSGSVariableDef{ type, 0, 0, "" } );
-    this->params->add( (KSGSVariable *)var->getThis() );
+    this->params->add( dynamic_cast<KSGSVariable *>( var->getThis() ) );
     if( this->expression.getLength() > 0 )
     if( this->expression.getLength() > 0 )
         compile();
         compile();
     return var;
     return var;
@@ -143,7 +143,7 @@ void KSGSExpressionEvaluatorImpl::setExpression( Framework::Text expression )
 KSGSVariable *KSGSExpressionEvaluatorImpl::evaluate()
 KSGSVariable *KSGSExpressionEvaluatorImpl::evaluate()
 {
 {
     if( functions->getEintragAnzahl() > 0 )
     if( functions->getEintragAnzahl() > 0 )
-        return startFunktion( functions->z( 0 )->getId(), ( RCArray<KSGSVariable>* )params->getThis() );
+        return startFunktion( functions->z( 0 )->getId(), dynamic_cast<RCArray<KSGSVariable>*>( params->getThis() ) );
     return 0;
     return 0;
 }
 }
 
 
@@ -177,7 +177,7 @@ KSGSVariable *KSGSExpressionEvaluatorImpl::startFunktion( int id, Framework::RCA
         parameter->release();
         parameter->release();
         return 0;
         return 0;
     }
     }
-    KSGSFunktionInstanz *inst = functions->z( id )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, parameter );
+    KSGSFunktionInstanz *inst = functions->z( id )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, parameter );
     KSGSVariable *ret = inst->startFunktion();
     KSGSVariable *ret = inst->startFunktion();
     inst->release();
     inst->release();
     return ret;
     return ret;
@@ -236,7 +236,7 @@ bool KSGSExpressionEvaluatorImpl::istBeendet( int scrId ) const
     return false;
     return false;
 }
 }
 
 
-KSGSVariable *KSGSExpressionEvaluatorImpl::rückruf( Framework::RCArray< KSGSVariable > *parameter ) const
+KSGSVariable *KSGSExpressionEvaluatorImpl::callback( Framework::RCArray< KSGSVariable > *parameter ) const
 {
 {
     parameter->release();
     parameter->release();
     return 0;
     return 0;

+ 1 - 3
ksgScript/Main/KSGSExpressionEvaluator.h

@@ -3,8 +3,6 @@
 #include "../Include/KSGScript.h"
 #include "../Include/KSGScript.h"
 #include "../Befehl/KSGSFunktion.h"
 #include "../Befehl/KSGSFunktion.h"
 
 
-#include <Trie.h>
-
 namespace KSGScript
 namespace KSGScript
 {
 {
 
 
@@ -44,6 +42,6 @@ namespace KSGScript
         Framework::Schrift *zSchrift() const override;
         Framework::Schrift *zSchrift() const override;
         int getFunktionId( const char *name ) const override;
         int getFunktionId( const char *name ) const override;
         bool istBeendet( int scrId ) const override;
         bool istBeendet( int scrId ) const override;
-        KSGSVariable *rückruf( Framework::RCArray< KSGSVariable > *parameter ) const override;
+        KSGSVariable *callback( Framework::RCArray< KSGSVariable > *parameter ) const override;
     };
     };
 }
 }

+ 25 - 21
ksgScript/Main/KSGScriptObj.cpp

@@ -17,6 +17,10 @@
 
 
 using namespace KSGScript;
 using namespace KSGScript;
 
 
+#ifndef WIN32
+#define INFINITE 0xFFFFFFFF
+#endif
+
 // Inhalt der KSGScript Klasse aus KSGScript.h
 // Inhalt der KSGScript Klasse aus KSGScript.h
 // Konstruktor
 // Konstruktor
 KSGScriptO::KSGScriptO()
 KSGScriptO::KSGScriptO()
@@ -51,7 +55,7 @@ KSGScriptO::~KSGScriptO()
         schrift->release();
         schrift->release();
     if( screen )
     if( screen )
         screen->release();
         screen->release();
-    zurücksetzen();
+    reset();
     mausP->release();
     mausP->release();
     tastaturP->release();
     tastaturP->release();
     tickP->release();
     tickP->release();
@@ -97,7 +101,7 @@ bool KSGScriptO::neuLaden()
     ZeitMesser *gzm = new ZeitMesser();
     ZeitMesser *gzm = new ZeitMesser();
     gzm->messungStart();
     gzm->messungStart();
     if( geladen )
     if( geladen )
-        zurücksetzen();
+        reset();
     scrId++;
     scrId++;
     Datei *datei = new Datei();
     Datei *datei = new Datei();
     datei->setDatei( *pfad );
     datei->setDatei( *pfad );
@@ -177,11 +181,11 @@ bool KSGScriptO::neuLaden()
     {
     {
         if( funktionen->z( i )->getId() == mainId )
         if( funktionen->z( i )->getId() == mainId )
         {
         {
-            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, 0 );
+            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, 0 );
             KSGSVariable *ret = inst->startFunktion();
             KSGSVariable *ret = inst->startFunktion();
             if( ret )
             if( ret )
                 ret->release();
                 ret->release();
-            if( inst->wirdFunktionAusgeführt() )
+            if( inst->isFunctionExecuting() )
                 inst->warteAufFunktion( INFINITE );
                 inst->warteAufFunktion( INFINITE );
             inst->release();
             inst->release();
             break;
             break;
@@ -201,7 +205,7 @@ bool KSGScriptO::neuLaden()
     return 1;
     return 1;
 }
 }
 
 
-void KSGScriptO::zurücksetzen()
+void KSGScriptO::reset()
 {
 {
     lock();
     lock();
     geladen = 0;
     geladen = 0;
@@ -215,12 +219,12 @@ void KSGScriptO::zur
     unlock();
     unlock();
 }
 }
 
 
-void KSGScriptO::setRückrufParam( void *p )
+void KSGScriptO::setCallbackParam( void *p )
 {
 {
     rParam = p;
     rParam = p;
 }
 }
 
 
-void KSGScriptO::setRückrufFunktion( void( *funktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ) )
+void KSGScriptO::setCallbackFunktion( void( *funktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ) )
 {
 {
     rFunktion = funktion;
     rFunktion = funktion;
 }
 }
@@ -252,14 +256,14 @@ void KSGScriptO::doPublicMausEreignis( MausEreignis &me )
         if( funktionen->z( i )->getId() == mausId )
         if( funktionen->z( i )->getId() == mausId )
         {
         {
             ( (KSGSMausEreignisKlasse *)mausP->z( 0 ) )->set( me );
             ( (KSGSMausEreignisKlasse *)mausP->z( 0 ) )->set( me );
-            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, ( RCArray<KSGSVariable>* )mausP->getThis() );
+            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, dynamic_cast<RCArray<KSGSVariable>*>( mausP->getThis() ) );
             KSGSVariable *ret = inst->startFunktion();
             KSGSVariable *ret = inst->startFunktion();
             if( ret )
             if( ret )
             {
             {
                 me.verarbeitet |= ret->getBool();
                 me.verarbeitet |= ret->getBool();
                 ret->release();
                 ret->release();
             }
             }
-            if( inst->wirdFunktionAusgeführt() )
+            if( inst->isFunctionExecuting() )
                 inst->warteAufFunktion( INFINITE );
                 inst->warteAufFunktion( INFINITE );
             inst->release();
             inst->release();
             break;
             break;
@@ -281,14 +285,14 @@ void KSGScriptO::doTastaturEreignis( TastaturEreignis &te )
         if( funktionen->z( i )->getId() == tastaturId )
         if( funktionen->z( i )->getId() == tastaturId )
         {
         {
             ( (KSGSTastaturEreignisKlasse *)tastaturP->z( 0 ) )->set( te );
             ( (KSGSTastaturEreignisKlasse *)tastaturP->z( 0 ) )->set( te );
-            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, ( RCArray<KSGSVariable>* )tastaturP->getThis() );
+            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, dynamic_cast<RCArray<KSGSVariable>*>( tastaturP->getThis() ) );
             KSGSVariable *ret = inst->startFunktion();
             KSGSVariable *ret = inst->startFunktion();
             if( ret )
             if( ret )
             {
             {
                 te.verarbeitet |= ret->getBool();
                 te.verarbeitet |= ret->getBool();
                 ret->release();
                 ret->release();
             }
             }
-            if( inst->wirdFunktionAusgeführt() )
+            if( inst->isFunctionExecuting() )
                 inst->warteAufFunktion( INFINITE );
                 inst->warteAufFunktion( INFINITE );
             inst->release();
             inst->release();
             break;
             break;
@@ -308,7 +312,7 @@ bool KSGScriptO::tick( double zeit )
         if( funktionen->z( i )->getId() == tickId )
         if( funktionen->z( i )->getId() == tickId )
         {
         {
             ( (KSGSDoubleKlasse *)tickP->z( 0 ) )->set( zeit );
             ( (KSGSDoubleKlasse *)tickP->z( 0 ) )->set( zeit );
-            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, ( RCArray<KSGSVariable>* )tickP->getThis() );
+            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, dynamic_cast<RCArray<KSGSVariable>*>( tickP->getThis() ) );
             KSGSVariable *ret = inst->startFunktion();
             KSGSVariable *ret = inst->startFunktion();
             bool r = 0;
             bool r = 0;
             if( ret )
             if( ret )
@@ -316,7 +320,7 @@ bool KSGScriptO::tick( double zeit )
                 r = ret->getBool();
                 r = ret->getBool();
                 ret->release();
                 ret->release();
             }
             }
-            if( inst->wirdFunktionAusgeführt() )
+            if( inst->isFunctionExecuting() )
                 inst->warteAufFunktion( INFINITE );
                 inst->warteAufFunktion( INFINITE );
             inst->release();
             inst->release();
             unlock();
             unlock();
@@ -342,12 +346,12 @@ void KSGScriptO::render( Bild &zRObj )
     {
     {
         if( funktionen->z( i )->getId() == renderId )
         if( funktionen->z( i )->getId() == renderId )
         {
         {
-            ( (KSGSBildKlasse *)renderP->z( 0 ) )->set( (Bild *)zRObj.getThis() );
-            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, ( RCArray<KSGSVariable>* )renderP->getThis() );
+            ( (KSGSBildKlasse *)renderP->z( 0 ) )->set( dynamic_cast<Bild *>( zRObj.getThis() ) );
+            KSGSFunktionInstanz *inst = funktionen->z( i )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, dynamic_cast<RCArray<KSGSVariable>*>( renderP->getThis() ) );
             KSGSVariable *ret = inst->startFunktion();
             KSGSVariable *ret = inst->startFunktion();
             if( ret )
             if( ret )
                 ret->release();
                 ret->release();
-            if( inst->wirdFunktionAusgeführt() )
+            if( inst->isFunctionExecuting() )
                 inst->warteAufFunktion( INFINITE );
                 inst->warteAufFunktion( INFINITE );
             inst->release();
             inst->release();
             break;
             break;
@@ -365,7 +369,7 @@ KSGSVariable *KSGScriptO::startFunktion( int id, RCArray< KSGSVariable > *parame
         parameter->release();
         parameter->release();
         return 0;
         return 0;
     }
     }
-    KSGSFunktionInstanz *inst = funktionen->z( id )->erstellInstanz( (KSGScriptProcessor *)getThis(), 0, parameter );
+    KSGSFunktionInstanz *inst = funktionen->z( id )->erstellInstanz( dynamic_cast<KSGScriptProcessor *>( getThis() ), 0, parameter );
     KSGSVariable *ret = inst->startFunktion();
     KSGSVariable *ret = inst->startFunktion();
     inst->release();
     inst->release();
     return ret;
     return ret;
@@ -421,7 +425,7 @@ void KSGScriptO::logNachricht( char *n )
 }
 }
 
 
 // constant
 // constant
-KSGSVariable *KSGScriptO::rückruf( RCArray< KSGSVariable > *parameter ) const
+KSGSVariable *KSGScriptO::callback( RCArray< KSGSVariable > *parameter ) const
 {
 {
     if( !rFunktion )
     if( !rFunktion )
     {
     {
@@ -436,7 +440,7 @@ KSGSVariable *KSGScriptO::r
 
 
 Text *KSGScriptO::getScriptDateiPfad() const
 Text *KSGScriptO::getScriptDateiPfad() const
 {
 {
-    return (Text *)pfad->getThis();
+    return dynamic_cast<Text *>( pfad->getThis() );
 }
 }
 
 
 Text *KSGScriptO::zScriptDateiPfad() const
 Text *KSGScriptO::zScriptDateiPfad() const
@@ -446,7 +450,7 @@ Text *KSGScriptO::zScriptDateiPfad() const
 
 
 Schrift *KSGScriptO::getSchrift() const
 Schrift *KSGScriptO::getSchrift() const
 {
 {
-    return schrift ? (Schrift *)schrift->getThis() : 0;
+    return schrift ? dynamic_cast<Schrift *>( schrift->getThis() ) : 0;
 }
 }
 
 
 Schrift *KSGScriptO::zSchrift() const
 Schrift *KSGScriptO::zSchrift() const
@@ -456,7 +460,7 @@ Schrift *KSGScriptO::zSchrift() const
 
 
 Bildschirm *KSGScriptO::getBildschirm() const
 Bildschirm *KSGScriptO::getBildschirm() const
 {
 {
-    return screen ? (Bildschirm *)screen->getThis() : 0;
+    return screen ? dynamic_cast<Bildschirm *>( screen->getThis() ) : 0;
 }
 }
 
 
 Bildschirm *KSGScriptO::zBildschirm() const
 Bildschirm *KSGScriptO::zBildschirm() const

+ 4 - 4
ksgScript/Main/KSGScriptObj.h

@@ -53,9 +53,9 @@ namespace KSGScript
         virtual void setScriptDatei( const char *pfad ) override;
         virtual void setScriptDatei( const char *pfad ) override;
         virtual void setScriptDatei( Text *pfad ) override;
         virtual void setScriptDatei( Text *pfad ) override;
         virtual bool neuLaden() override;
         virtual bool neuLaden() override;
-        virtual void zurücksetzen() override;
-        virtual void setRückrufParam( void *p ) override;
-        virtual void setRückrufFunktion( void( *funktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ) ) override;
+        virtual void reset() override;
+        virtual void setCallbackParam( void *p ) override;
+        virtual void setCallbackFunktion( void( *funktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ) ) override;
         virtual void setSchriftZ( Schrift *s ) override;
         virtual void setSchriftZ( Schrift *s ) override;
         virtual void setBildschirmZ( Bildschirm *s ) override;
         virtual void setBildschirmZ( Bildschirm *s ) override;
         virtual void doPublicMausEreignis( MausEreignis &me ) override;
         virtual void doPublicMausEreignis( MausEreignis &me ) override;
@@ -69,7 +69,7 @@ namespace KSGScript
         virtual void setLog( TextFeld *log ) override;
         virtual void setLog( TextFeld *log ) override;
         virtual void logNachricht( char *n ) override;
         virtual void logNachricht( char *n ) override;
         // constant
         // constant
-        virtual KSGSVariable *rückruf( RCArray< KSGSVariable > *parameter ) const override;
+        virtual KSGSVariable *callback( RCArray< KSGSVariable > *parameter ) const override;
         virtual Text *getScriptDateiPfad() const override;
         virtual Text *getScriptDateiPfad() const override;
         virtual Text *zScriptDateiPfad() const override;
         virtual Text *zScriptDateiPfad() const override;
         virtual Schrift *getSchrift() const override;
         virtual Schrift *getSchrift() const override;

+ 2 - 2
ksgScript/ksgScript.vcxproj

@@ -180,7 +180,7 @@ copy "..\x64\Debug\ksgScript.dll" "..\..\..\Spiele Platform\Klient\Fertig\Debug\
     <ClInclude Include="Editor\Editor.h" />
     <ClInclude Include="Editor\Editor.h" />
     <ClInclude Include="Editor\Parser\ColorParser.h" />
     <ClInclude Include="Editor\Parser\ColorParser.h" />
     <ClInclude Include="Error\Error.h" />
     <ClInclude Include="Error\Error.h" />
-    <ClInclude Include="Funktionen\KSGSRückruf.h" />
+    <ClInclude Include="Funktionen\KSGSCallback.h" />
     <ClInclude Include="Include\KSGScript.h" />
     <ClInclude Include="Include\KSGScript.h" />
     <ClInclude Include="Include\KSGSStandart.h" />
     <ClInclude Include="Include\KSGSStandart.h" />
     <ClInclude Include="Klassen\KSGSArray.h" />
     <ClInclude Include="Klassen\KSGSArray.h" />
@@ -211,7 +211,7 @@ copy "..\x64\Debug\ksgScript.dll" "..\..\..\Spiele Platform\Klient\Fertig\Debug\
     <ClCompile Include="Editor\Editor.cpp" />
     <ClCompile Include="Editor\Editor.cpp" />
     <ClCompile Include="Editor\Parser\ColorParser.cpp" />
     <ClCompile Include="Editor\Parser\ColorParser.cpp" />
     <ClCompile Include="Error\Error.cpp" />
     <ClCompile Include="Error\Error.cpp" />
-    <ClCompile Include="Funktionen\KSGSRückruf.cpp" />
+    <ClCompile Include="Funktionen\KSGSCallback.cpp" />
     <ClCompile Include="Klassen\KSGSAnimation2D.cpp" />
     <ClCompile Include="Klassen\KSGSAnimation2D.cpp" />
     <ClCompile Include="Klassen\KSGSAnimation2DData.cpp" />
     <ClCompile Include="Klassen\KSGSAnimation2DData.cpp" />
     <ClCompile Include="Klassen\KSGSArray.cpp" />
     <ClCompile Include="Klassen\KSGSArray.cpp" />

+ 2 - 2
ksgScript/ksgScript.vcxproj.filters

@@ -78,7 +78,7 @@
     <ClInclude Include="Klassen\KSGSFenster.h">
     <ClInclude Include="Klassen\KSGSFenster.h">
       <Filter>Headerdateien</Filter>
       <Filter>Headerdateien</Filter>
     </ClInclude>
     </ClInclude>
-    <ClInclude Include="Funktionen\KSGSRückruf.h">
+    <ClInclude Include="Funktionen\KSGSCallback.h">
       <Filter>Headerdateien</Filter>
       <Filter>Headerdateien</Filter>
     </ClInclude>
     </ClInclude>
     <ClInclude Include="Include\KSGScript.h">
     <ClInclude Include="Include\KSGScript.h">
@@ -164,7 +164,7 @@
     <ClCompile Include="Klassen\KSGSAnimation2D.cpp">
     <ClCompile Include="Klassen\KSGSAnimation2D.cpp">
       <Filter>Quelldateien</Filter>
       <Filter>Quelldateien</Filter>
     </ClCompile>
     </ClCompile>
-    <ClCompile Include="Funktionen\KSGSRückruf.cpp">
+    <ClCompile Include="Funktionen\KSGSCallback.cpp">
       <Filter>Quelldateien</Filter>
       <Filter>Quelldateien</Filter>
     </ClCompile>
     </ClCompile>
     <ClCompile Include="Main\Einstieg.cpp">
     <ClCompile Include="Main\Einstieg.cpp">