readme
来自「汇编&c语言code」· 代码 · 共 518 行 · 第 1/2 页
TXT
518 行
or
extern "C" {
char *SCopy(char*, char*);
void ClearScreen(void);
}
Failure to do so will result in "Undefined symbol" errors
during link. For further examples, see the standard header
files.
TURBO DEBUGGER
- You cannot set a window message breakpoint by using a window
handle in an ObjectWindows application. You can, however, set
window message breakpoints with ObjectWindows applications:
enable ObjectWindows support (use TDWINST and choose
Options|Source Debugging|OWL Window Messages), then use
window object names to set message breakpoints.
- The first time a program is run under TDW, mouse messages are
processed normally. However, on every subsequent execution of
that program, you must press a key on the keyboard before
mouse messages can be processed.
Super VGA support
=================
TDW handles most of the popular 2, 4, and 16-color high-
resolution Super VGA modes. If your card isn't supported
correctly, or if you want to debug in a 256-color mode, you'll
need to use a special Super VGA DLL.
Currently, the following DLLs are supplied with your language
compiler to support these SVGA cards and modes:
TSENG.DLL (TSENG ET-3000 /ET-4000 based cards)
640x480x256
800x600x256
1024x768x256
ATI.DLL (ATI VGA Wonder card)
640x480x256 (See the NOTE below)
800x600x256
To use a Super VGA DLL, copy the appropriate DLL file into the
directory that contains the TDW executable (usually the BIN
subdirectory of your language compiler directory) and rename it
to TDVIDEO.DLL.
TDW, upon loading, looks for TDVIDEO.DLL in the same directory
that harbors TDW.EXE. If it finds the file, TDW accesses the
DLL as it's needed. TDW makes calls to the DLL to handle the
entire video screen switching context. The DLL accomplishes the
screen switching by allocating a buffer as it gets loaded.
Graphic screen contents are then saved to this buffer as TDW
enters text mode. The DLL restores the graphics screen from
this buffer as TDW exits text mode. Memory allocated for the
buffer is freed when the DLL is unloaded.
If there is an error loading TDVIDEO.DLL, or if the DLL doesn't
support the selected card or mode, TDW will report the error in
a Windows dialog box. When this happens, TDW will unload
TDVIDEO and exit. If this situation occurs, delete TDVIDEO.DLL,
or select a mode that is supported by the DLL.
If you're debugging an application that's been built with
EasyWin, you may see incorrect screen painting as you step over
lines of code that make calls to STDIO functions. In this case,
edit the TDVIDEO.INI file and set the Int2FAssist option to
"yes" (see the NOTE below).
NOTE: The ATI mode 640x480x256 and EasyWin applications may
require some special handling. An option called Int2FAssist
in the TDVIDEO.INI file allows this mode to work correctly on
most systems. The behaviour is as follows: When you set
"Int2FAssist=yes", TDVIDEO makes Windows tell all sub-windows
on the screen to re-paint themselves as the DLL is loaded.
This allows the user screen to be viewed when Stepping,
Tracing, or Running your application. It will not, however,
switch to the user screen when you press <Alt-F5> since TDW
is still in control (it doesn't allow Windows to process any
messages). If you also set "SaveWholeScreen=yes", then <Alt-
F5> will show the user screen (TDVIDEO will now copy the
screen for you). The drawback to enabling SaveWholeScreen is
that it will take longer to Step or Trace if TDW needs to
switch back to the user screen for that particular
instruction. Also, extra messages are getting passed to your
application that normally would not be passed. This may
effect the debugging of certain pieces of code (like finding
a bug in an owner-draw procedure). In these cases, you will
not want to use this video mode.
TDVIDEO.INI
-----------
You can create the file TDVIDEO.INI with any ASCII text editor.
This file is used to control how TDVIDEO.DLL functions.
TDVIDEO.INI must be located in WINDOW's main directory (usually
C:\WINDOWS). The options in TDVIDEO.INI are handled by the DLL
itself and are therefore subject to change with newer versions
of the DLLs. The DLLs use the following options, written in any
order, under the heading [VideoOptions]:
SaveWholeScreen -- default = 'no'
Int2FAssist -- default = 'no'
DebugFile -- default = '' (no logging will occur)
The SaveWholeScreen and Int2FAssist can be set to either 'yes'
or 'no'. DebugFile can be either blank, or it can be set to a
specific filename.
*** SaveWholeScreen ***
This option, normally set to 'no', determines whether the
entire screen (512k - 64k from 8 planes) will be saved (the
entire graphics screen is cleared when switching to it) or if
only the top 32K of planes 0 through 3 will be saved (the
entire screen is NOT cleared when switching modes.)
Saving the whole screen is rarely needed, but is provided in
case you're using a nonstandard card that needs the whole
screen to be saved.
*** Int2FAssist ***
This option, normally set to 'no', tells TDVIDEO, to make a
special Int 2F call before switching video modes. This call
tells the current Windows screen driver (VGA.DRV for standard
VGA mode) what's happening. The desired side-effect of this
call is to make Windows tell all of its child windows to re-
paint themselves. This option is provided only for support on
an ATI Super VGA video mode and for applications built using
EasyWin (see NOTE above). However, be aware, that this option
can affect the other supported modes if it's enabled (use
this option only if absolutly necessary).
*** DebugFile ***
TDVIDEO.DLL normally doesn't save any debugging information.
If you're having problems using a special DLL, the DebugFile
option can be used to specify the path and filename of a log
file. Information logged to this file can be used if you need
to contact Borland's Technical Support. Information logged
consists of the Date/Time, the version of the DLL, the name
of the Windows screen driver that is currently in use, the
state of all .INI options, and a listing of all the calls to
the DLL's functions.
For example, if you want your DLL to save the entire screen
and log information to a file named C:\WINDOWS\TDVIDEO.LOG,
create a file called TDVIDEO.INI in the WINDOWS directory
that contains the following commands:
[VideoOptions]
SaveWholeScreen=yes
DebugFile=c:\windows\tdvideo.log
CLASS LIBRARY
- If you used the add(), addAt(), or getItemsInContainer()
member functions of the Array class in Turbo C++ for Windows
2.0 applications, note that their behavior has changed
slightly. The following rules apply to these and related
functions:
1. add() will insert its argument at the lowest available
location in the Array. This location is known as the
"insertion point".
2. detach() will remove its argument from the Array, and if
that Object is located below the insertion point, it
will move the elements above the Object being removed
and below the insertion point down one position, so that
the elements below the insertion point remain
contiguous. The insertion point, of course, moves down
one.
3. if the location specified in a call to addAt() is below
or at the insertion point, the elements above the
specified location and below the insertion point are
moved up one position, and the Object is inserted. The
insertion point moves up one.
4. if the location specified in a call to addAt() is above
the insertion point, the Object is inserted at that
location, replacing any Object that may have been placed
there previously.
5. getItemsInContainer() returns the number of elements
below the current insertion point. If you use addAt()
to add elements above the insertion point, they will not
affect the value returned by getItemsInContainer().
This is a change from the behavior in the previous
version of the class library.
- Only the small and dynamic link class libraries are supplied
in this release. If you need other models, use the project
files supplied under the CLASSLIB\OBJS subdirectories to
build them. For instance, to build a medium model library
without templates, create a directory called M under
\CLASSLIB\OBJS, and copy the TCLASSL.PRJ file from the L
directory to a file called TCLASSM.PRJ in your new M
directory. Then load TCW.EXE, used Project|Open to open
TCLASSM.PRJ, and change Options|Compiler|Code generation|
Model to Medium.
OWL
- You must rebuild the class libraries in the appropriate model
for the intended OWL model if they don't already exist - see
paragraph above.
- Note that you must use the TWindow member function AssignMenu
to assign a window's Attr.Menu member and to load a menu for
that window.
6. CORRECTIONS TO THE DOCUMENTS
---------------------------------
ObjectWindows User's Guide
--------------------------
Chapter 2, "Stepping through Windows"
-------------------------------------
Page 22
-------
The sentence that begins "These libraries are located in the library
directories listed in the following table..." should instead read
"Table 2.2 lists the file names of the static ObjectWindows library
and static container class library for each supported memory model."
Chapter 11, "Dialog objects"
----------------------------
Page 151
--------
In the TSampleWindow::GetName fragment shown, a line is in error.
The line that begins
if ( ExecDialog(new TInputDialog(this...
should read
if ( GetApplication()->ExecDialog(new TInputDialog(this...
Chapter 12, "Control objects"
----------------------------
Page 158+
---------
Although it doesn't specifically state so, TListBox and its member
functions can be used with both single- and multiple- selection
list boxes.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?