In order to not fail in some hardware configurations,
especially on MDA and Hercules video adapter, GetVideoCard()
function should be called prior to FindVideoMode().
Video mode detection must be done with GetVideoCard() prior to using
FindVideoMode(). Do not use FindVideoMode() to detect valid video
modes.
FindVideoMode() simply sets a video mode, it has no detection scheme in
it. It could conceivably set an incorrect mode, such as setting a
graphic mode intended for a TSENG chipset on a Video 7 display
adapter,etc., simply because the TSENG SVGA driver was incorrectly
installed by the user. GetVideoCard() prevents this from happening.
Either the Function Stub, CShowPCX() or the Function itself, ShowPCX()
can be overlayed, but not both with Blinker. If both are overlayed
with Blinker, the function will crash. If the application requires
both the Function Stub and the Function to be overlayed, Sun Country
recommends the use of RTLink.
In order to overlay CSHOWxxx (interface stub) and SHOWxxx (function),
Dynamic Overlay Option must be turned on, otherwise, Fixed Overlay
Option must be used and CSHOWxxx and SHOWxxx must be in the same
section, or only the SHOWxxx can be overlayed. This can not be done
with the current release of Blinker when used with Clipper 5.0x.
User must specify a STACK for his application, linking with Blinker and
using the SUNPRO50.LIB with Clipper 5.0x. SunShow's SUNPRO50.LIB
requires 8192K of STACK. Other libraries may also require STACK space.
Therefore, the overall stack space may need to be larger. User may
set the stack by either specifying the STACK 8192 or by PROCEDURE DEPTH
80. This provides enough stack for SUNPRO50.LIB, but may not provide
for other 3rd party libraries. Developer should recheck stack
requirements for entire application.
SunShow's SUNPRO50.LIB is a large, graphics library containing complex
functions. It requires approximately 18K of DATA SEGMENT. This is
normal. If an error that CODE + DATA exceeds 64K, the user must either
reduce STACK or remove a library. There is only a finite number of 3rd
party libraries that can be overlayed in this environment.
Caution is advised in overlaying into UMB. There is a likelihood that
such procedures are not portable, if end-user's memory manager is not
configured correctly for the current hardware on the end-user's PC. In
addition, certain hardware such as SVGA video cards, frame capture
boards like the Vision16, Targa 16, or Targa+, network cards, SCSI
cards may require UMBs or may use UMBs without warning, that could
cause your application to crash. Sun Country strongly encourages use
of XMS and EMS for overlays, discourages use of UMBs for the above
reasons. Since the developer cannot always control which memory
manager is used on an end-user's PC, and while unlikely, there is also
the possibility of compatibility problems between less-popular memory
managers and Blinker.
Sun Country suggests for the linking of large, complex application,
that RTLink may be advisable (over Blinker) since more functions can be
overlayed due to its RELOAD feature. Blinker requires use of the
dynamic overlay feature to get the same effect, but this is currently
only possible with Clipper S '87. In order to overlay the function
stubs along with the functions, or overlay more of the SUNPRO50.LIB's
functions, they may use RTLink or Clipper, S'87. This limitation is a
limitation of Blinker.

Return to Technical Support, Notes, Tips, Tricks
and Programming Information

Return to SunShow Professional Page