programs that dont work

If you have questions about any aspect of QBasic programming, or would like to help fellow programmers solve their problems, check out this board!

Moderators: Pete, Mods

Post Reply
sid6.7
Veteran
Posts: 318
Joined: Tue Jun 21, 2005 8:51 am
Location: west USA
Contact:

programs that dont work

Post by sid6.7 »

another noob question..

i've found over the last few weeks
dozens of programs that were released
as "finished" and mostly in *.exe form
but some in *.BAS form...

3/4 of the time they just dont work
i get a number of errors even though
they were relesed as finished...why is that?..

stuff like:
file not found?
sub not declared?
declare..something ..something...
error in module blah blah
path not found...and a few others to numerous to keep track of

not sure what i am doing wrong...
i have qb4.5 and run it on a WINXP
a WINME and a WIN98...pertty much the same thing
on all of them...

or is my question to general..do i need to tell you more?
mennonite

a couple of those are not the fault of the author.

Post by mennonite »

that is, they could be Better written, but under other circumstances, it is possible to recreate some of those errors in conditions that they weren't designed for.

actually i'll give you three examples of things that can go wrong in well designed software.

1. the program was written before XP, or written under the win9x environment.

i've had this problem before. recently someone tried to run a program that worked perfectly in win98 but in xp returned a "path not found" error. it wasn't that the path wasn't there. win98 uses DOS 7, and xp does NOT use dos. it emulates it. Badly. this causes problems for some programs written in xp. i think DOSBOX http://dosbox.sourceforge.net gets around some of these problems. file not found is another one that could result from this. these programs should run in dos mode just fine... but xp diesn't have a dos mode. you see, it's an OS compatibility issue.

2. actually, same problem as #1.

xp also severely restricts what you can do with 16bit access, including interrupts and (i think...) asm. this means that many programs written in qbasic a few years ago won't work because they access 16bit features that xp won't allow access to.

again, see if DOSBOX helps here.

3. there is another error you can get that is similar to one of the ones you listed, if the program uses CALL ABSOLUTE... or something. for one, the qb45 compiler includes features not present in the qb11 interpreter. for another, some programs that use functions available by default in the interpreter are only available in the compiler if you start it with the /L switch... so if it was written in qb11 (1.1...) then you might have to do this extra think to make it work in the compiler.
Antoni
Veteran
Posts: 132
Joined: Wed Jun 15, 2005 3:01 pm
Contact:

Post by Antoni »

A possibility mennonite does'nt mention...

Are you sure you run the programs from their own folder?

Clicking on them from the File Explorer will run them from a random folder, so they will not be able to find what they need.

Right-click on them, go to properties and put just a dot in the Start Folder field. It will make windows change to the right folder the next time you click in the program.
User avatar
{Nathan}
Veteran
Posts: 1169
Joined: Thu Aug 19, 2004 6:08 pm
Location: The wetlands of central Ohio, USA
Contact:

Post by {Nathan} »

Uhh... mostly you just need to set the paths of things. Look for commands like OPEN, CHDIR, and SHELL and make sure that if it has a path (and a file) that the file exists where the path is, and if it doesn't (which is (usually)) the cause of the error, then find the file and change the path.
Image
Post Reply