![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General Discussion » View Thread |
Messages 1 to 10 of 11 total |
![]() |
Tue, May 4 2010 4:53 PM | Permanent Link |
Joselito Real | I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to c:\edb in Win2008. Now when I start edbsrvr (normal application, version 2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at 02B2390E. Any hint on how to fix the Runtime error 216? Thanks, George Patena |
Tue, May 4 2010 5:05 PM | Permanent Link |
Jan Ferguson Data Software Solutions, Inc. ![]() | George,
I'm certainly not an expert on this but when I ran a Google search, everything pointed to possible viruses (virii?) and/or Trojans. I've provided two links below. I hope that points you in the right direction. http://support.microsoft.com/kb/259279 http://ezinearticles.com/?What-to-Do-When-You-Encounter-Runtime-Error-21 6&id=1771501 -- Jan Joselito Real wrote: > I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008 > Server x64, and copied parallel directory, i.e. from c:\edb in > Win2003 to c:\edb in Win2008. Now when I start edbsrvr (normal > application, version 2.03 bld 13) in Windows 2008, I get the message: > Runtime error 216 at 02B2390E. > > Any hint on how to fix the Runtime error 216? |
Wed, May 5 2010 4:13 PM | Permanent Link |
George | It was not a virus. My mistake was I copied the directory from an install
in another server, including the old edbConfig.*. Starting fresh from a new edbsrvr, then later adding the encryption in the INI file solved the problem. Thanks, George "J.B. Ferguson" <jnobspamfergnospamusonatgnospammaildotcom> wrote in message news:2D492A2A-20A2-49D1-AD69-236D9BE3A65D@news.elevatesoft.com... > George, > > I'm certainly not an expert on this but when I ran a Google search, > everything pointed to possible viruses (virii?) and/or Trojans. I've > provided two links below. I hope that points you in the right direction. > > http://support.microsoft.com/kb/259279 > > http://ezinearticles.com/?What-to-Do-When-You-Encounter-Runtime-Error-21 > 6&id=1771501 > > -- > Jan > > > Joselito Real wrote: > >> I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008 >> Server x64, and copied parallel directory, i.e. from c:\edb in >> Win2003 to c:\edb in Win2008. Now when I start edbsrvr (normal >> application, version 2.03 bld 13) in Windows 2008, I get the message: >> Runtime error 216 at 02B2390E. >> >> Any hint on how to fix the Runtime error 216? |
Wed, May 5 2010 5:40 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | George,
<< I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008 Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to c:\edb in Win2008. Now when I start edbsrvr (normal application, version 2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at 02B2390E. >> I see that you found the problem, but it shouldn't cause a 216 runtime error, so I'll check it out to see what the issue is. Did you customize the ElevateDB Server project at all ? -- Tim Young Elevate Software www.elevatesoft.com |
Wed, May 5 2010 7:15 PM | Permanent Link |
Jan Ferguson Data Software Solutions, Inc. ![]() | George,
That's good to know. I couldn't find anything else on it anywhere so I provided those links for you. Sure am glad it wasn't a virus. -- Jan G Patena wrote: > It was not a virus. My mistake was I copied the directory from an > install in another server, including the old edbConfig.*. Starting > fresh from a new edbsrvr, then later adding the encryption in the INI > file solved the problem. |
Thu, May 6 2010 7:17 PM | Permanent Link |
George | Tim / Jan,
I originally thought the problem was the directory by directory copy from Windows 2003 to Windows 2008. Now that I have started rebuilding the tables, I found out the real culprit is an external module (dll) that I made. It works in Windows 2003 Server OS, and fails at the Windows 2008 Server. The external module includes a call to CREATEPROCESS in Windows and I think this is what is causing the Runtime 216. If I start the server without my external module in Windows 2008, the server runs fine, when I include the external module, the Runtime 216 error comes up. Any suggestions on the call to "CreateProcess" in Windows 2008 Server? Thanks, George "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:C5EE6DB8-47FE-4C03-AC1C-9BD9093FC5E1@news.elevatesoft.com... > George, > > << I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008 > Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to > c:\edb in Win2008. Now when I start edbsrvr (normal application, version > 2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at > 02B2390E. >> > > I see that you found the problem, but it shouldn't cause a 216 runtime > error, so I'll check it out to see what the issue is. > > Did you customize the ElevateDB Server project at all ? > > -- > Tim Young > Elevate Software > www.elevatesoft.com > |
Thu, May 6 2010 8:19 PM | Permanent Link |
George | RE::
> The external module includes a call to CREATEPROCESS in Windows and I > think this is what is causing the Runtime 216. If I start the server > without my external module in Windows 2008, the server runs fine, when I > include the external module, the Runtime 216 error comes up. It is not the CreateProcess that was causing it, it was the whole External Module. When I commented the CreateProcess portion on my source code for the External Module, the external dll is still causing Runtime Error 216 on Windows 2008. This runs OK in Windows 2003. Thanks, George Elevatedb 2.03 Bld 13 Windows 2008 Server |
Fri, May 7 2010 1:47 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | George,
<< It is not the CreateProcess that was causing it, it was the whole External Module. When I commented the CreateProcess portion on my source code for the External Module, the external dll is still causing Runtime Error 216 on Windows 2008. This runs OK in Windows 2003. >> What version of Delphi did you use to compile the external module ? It sounds like DEP (Data Execution Prevention) processor protections, which doesn't like the way that Delphi deals with locales in certain versions of the RTL. -- Tim Young Elevate Software www.elevatesoft.com |
Fri, May 7 2010 3:00 PM | Permanent Link |
George | > What version of Delphi did you use to compile the external module ? It
> sounds like DEP (Data Execution Prevention) processor protections, which > doesn't like the way that Delphi deals with locales in certain versions of > the RTL. > Tim, Thanks a lot for mentioning DEP. I have DEP off for my applications in the previous server and forgot about it in the 2008 Server !!! -- and I have been barking on wrong trees all the while !!! Edbsrvr runs initially with DEP ON, but as soon as I added my external dll modules, the 216 Error comes. When I turned off DEP for my external modules, the EDB Server loads OK! ElevateDB server now runs fast with our Windows 2008 Server 64bit together with ElevateDB external modules created from Windows XP 32bit and Delphi 7. Thanks Tim, I can take my weekend easy, George |
Mon, May 10 2010 1:20 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | George,
<< Thanks a lot for mentioning DEP. I have DEP off for my applications in the previous server and forgot about it in the 2008 Server !!! -- and I have been barking on wrong trees all the while !!! Edbsrvr runs initially with DEP ON, but as soon as I added my external dll modules, the 216 Error comes. When I turned off DEP for my external modules, the EDB Server loads OK! ElevateDB server now runs fast with our Windows 2008 Server 64bit together with ElevateDB external modules created from Windows XP 32bit and Delphi 7. >> Just in case you want to know the cause of the DEP issue, it is caused by the way the locales are populated. In SysUtils.pas: constructor TLanguages.Create; type TCallbackThunk = packed record POPEDX: Byte; MOVEAX: Byte; SelfPtr: Pointer; PUSHEAX: Byte; PUSHEDX: Byte; JMP: Byte; JmpOffset: Integer; end; var Callback: TCallbackThunk; begin inherited Create; Callback.POPEDX := $5A; Callback.MOVEAX := $B8; Callback.SelfPtr := Self; Callback.PUSHEAX := $50; Callback.PUSHEDX := $52; Callback.JMP := $E9; Callback.JmpOffset := Integer(@TLanguages.LocalesCallback) - Integer(@Callback.JMP) - 5; EnumSystemLocales(TFNLocaleEnumProc(@Callback), LCID_SUPPORTED); end; It's the way that they're doing the callback that DEP doesn't like because they're treating code as data. Unfortunately, to work around it you have to use your own locale population code, etc. -- Tim Young Elevate Software www.elevatesoft.com |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Wednesday, August 14, 2024 at 07:31 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |