WDoSX with Borland Delphi
(Delphi for DOS is based on a protective mode extension called WDoSX. WDoSX expander not only supports Delphi, but also supports almost all compilers that can generate console applications in C Builder, TASM, VC , here only Some of Delphi for reference. --Freewizard) WDoSX is designed to perform Delphi programs under DOS, but not Turbo Pascal language, but based on Delphi's Object Pascal language, like Class, Exception, etc. Whether in pure DOS mode or DOS in Windows, WDoSX will simulate Win32API, which means that you can use the interrupt and direct write screen buffer to do only in DOS as you wish. (FreeWizard: Is it a bit excited? ^ _ ^) How to use: 1. Compilation: DCC32 -CC YourProg.dpr 2. Generate DOS execution file: Stubit YourProg.exe (freewizard: You can also run me in the IDE menu Tools Annex: Delphi for DOS) Of course, you can also compile in the IDE in the {$ appty console} indicator, but don't forget to remove all the window units in the USES clause, even the main window is no exception, Otherwise, WDoSX complains that you cannot register window, OLE services, and so, don't blame me. (FreeWizard: If you use my "additive", just double-click DOS Application on the Projects page in New!) Your final executive file needs to be integrated with Win32API emulation library or release them, these modules are located in bin directory: Kernel32.wdl user32.wdl oleaut32.wdl advapi32.wdl WDL file is a DLL file to change the extension. When you use Stubit Processing Your program, Stubit automatically searches the above module in the directory where the current directory and stubit.exe are located and generate files; if not found, give a warning, you can use Wadd.exe Add it from yourself. WDoSX 0.95 comes with the CRT unit and supports the MEM and Port emulation arrays, but the MEM array has become one-dimensional linear, such as VGA cache MEM [$ A000: 0000] should be changed to MEM [$ A0000], calculation method: new_offset = Old_SEG SHL 4 Old_offset (Freewizard: Although WDoSX supports 4G addressing, Delphi only supports an array of 2G-1 size, but who has so much memory?: p)
Problems that may arise--
The 16-bit TPU file cannot be used: This is of course. If an active code can be compiled as a DCU file. No FPU simulation: No way, the Delphi compiler does not support, some machines (386 / 486sX / 586NX) have to use software simulation. When the program appears when "unsupported Dynalink" appears, follow the API function name: This means that your program uses a Windows support but the WDoSX does not support API call. Running: "Exception 03" (exception 03): This shows that you have used a call I have not thought, try to find a problem based on the displayed module name and register value, sometimes it is your program to introduce a fact. A function that never calls. Other CPUs appearing during runtime: This is not already your mistake, please confirm that your code is normal, then inform me. Other questions: Try to solve it with wudebug, I wish you good luck! (FreeWizard: This article is translated from WDoSX0.95 documentation, more detailed information, please see WDoSX documentation and site http://fwfc.yeah.net)