Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Program bombs in graphics mode under Windows 98 when using restscreen( 1

Status
Not open for further replies.

sdl

Technical User
Jul 17, 2000
2
US
I have a program that will run fine if I do not load Windows 98 (run in DOS mode), but if I run it in a DOS window, the program ends.&nbsp;&nbsp;I have narrowed it down to the the function restscreen().&nbsp;&nbsp;I also know that the return value from the savescreen() is an array because of the graphics mode, however the restscreen will work 3 times and then always end after the 3rd time.&nbsp;&nbsp;At home, I have Windows 95 and it seems to run ok there.&nbsp;&nbsp;Any machine with Windows 98 seems to cause the problem.&nbsp;&nbsp;Below see a sample program.&nbsp;&nbsp;I compile it with exospace but blinker does not like it either.&nbsp;&nbsp;Any suggestions?<br><br>#include &quot;LLIBG.CH&quot;<br>funtion test<br><br>local aScreen,;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nCounter := 0<br><br>gmode( LLG_VIDEO_VGA_640_480_16 )<br>set videomode to LLG_VIDEO_VGA_640_480_16<br><br>aScreen := savescreen()<br><br>while .t.<br>&nbsp;&nbsp;&nbsp;&nbsp;nCounter ++<br>&nbsp;&nbsp;&nbsp;&nbsp;@ 0,0 say nCounter<br>&nbsp;&nbsp;&nbsp;&nbsp;inkey(0)<br>&nbsp;&nbsp;&nbsp;&nbsp;restscreen( aScreen )<br>&nbsp;&nbsp;&nbsp;&nbsp;savescreen( aScreen )<br>enddo<br><br>return nil<br><br>
 
some things that can help you.<br><br>take a look on the AUTOEXEC.BAT for the correct configuration<br>SET CLIPPER=F180&nbsp;&nbsp;&nbsp;// or something like this<br><br>and... the CONFIG.SYS<br>FILES=200<br>BUFFERS=32,0&nbsp;&nbsp;&nbsp;&nbsp;// or something like this<br><br>and.. if you don't know, computers that have onboard video, have more problems <br>with graphics.<br><br>and... you can link your application with EXOSPACE, thats good
 
i was writing program under clipper 5.3 with graphical interface using 800x592 x 256 color.
in older graphic card (S3 1mb / pci bus) its runing well, but in newer card (TNT pro 32mb / agp bus) it doesn't work, why? am i miss something? like vesa driver maybe?, please help me!
i want run my program under my newer agp card ! HELP ME PLEASE....!
 
This is for Armadateknik,

I have found no solution to this problem except a workaround that I developed. The problem comes from the function RESTSCREEN() in graphics mode. Since I could not use this function, I designed my own functions to manage screen painting. This solution is not a very good one, but it works. I would not suggest using it on anything slower than a 160Mghz machine. The graphics mode really slows down performance. What I did was store all of the screen components into arrays and then used a function to go through the arrays and repaint them on the screen when necessary. For example, I have an array for text to be printed on the screen, containing the row, col, text, color, etc. and another array for borders (row1, col1, row2, col2, etc.) This was very tricky to do but after I got the details worked out, it did the trick. I hope this helps you out. If you want more details, I can send you some sample code. Just email me at stevel@stcr.com
 
I use RTLINK and have no problem with AGP graphics
or faster PIII CPUs (up to 1000 Mhz so far).

I must admit that I use SAVE SCREEN and RESTORE SCREEN
because I was uncertain about using SAVESCREEN().

Interesting point though... I will observe my users
with keen scrutiny in case they start having crashes.

Thanx
Jim
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top