Site Map

Home
About Rapid-Q
News Archive
Download Rapid-Q
Screen Shots
View Documentation
FAQs
Compatibility Issues
Knowledge Base
Links
Code Contributions
Coding Etiquette
EZBoard Public Forum
Rapid-Q Mailing List



Contact Me

E-mail: William Yu


  Frequently Asked Questions


1. Can Rapid-Q create screen savers?
Not currently, it's just a formality (ie. one line change). Perhaps in future releases, definitely in the official release, if that ever happens.


2. Does Rapid-Q require additional DLLs?
None, just distribute your .EXE and be done with it.


3. Can I port my code without any changes?
From Linux to Windows would be much easier. There's no guarantee that your code will run properly when porting from Windows to Linux. Please refer to the compatibility guide.


4. Will Rapid-Q support OpenGL?
This may be supported in the future, but some things need to be done first.


5. How to change icon for my application?
Use Application.Icon or Application.IcoHandle. To change the .EXE icon you can use the command switch -g or change it from within the Rapid-Q IDE.


6. Can I write to the off screen buffer in Console mode?
Yes, see documentation (Chapter 6 & Appendix C).


7. Will there be Rapid-Q for DOS?
It's very unlikely, unless there's great demand.


8. Will there be Rapid-Q for 16-bit Windows?
Under the circumstances (ie. I don't have Win 3.x), no. I don't know if it works with Win32s, so I can't comment on that. If there is someone out there that still uses it, then let me know whether it fails or passes. I have a feeling it'd fail.


9. Do I have access to all WINAPI calls?
You do have "access" to all of them, but it will become obvious which ones aren't supported (ie. it's impossible to call those API functions with unsupported datatypes).


10. How does byte code work?
Rapid-Q compiles your source code to byte code as opposed to the native op code of your processor. An interpreter is required to read this byte code and output the desired result. Compiling to byte code and executing each instruction is much faster than parsing a regular text file. For one thing, it requires less reading since byte code usually stores a byte or two per instruction, depending on the implementation of course. What you get is a trade-off between the slowness of a pure text interpreter and the speed of a quick native coded application. There are no standard byte code implementations so you don't need to worry about people decompiling your EXE. In Rapid-Q, the byte code is attached to an interpreter so it becomes transparent (ie. people may never know it's byte code).


11. How come my graphics aren't displayed?
If you've tried drawing a cirlce on your form, only to find that it doesn't appear when you run your program, then you'll need to shake your head out of your single-task world. There's a complete Chapter devoted to this subject, see Chapter 12. In short, write a handler for OnPaint, and perform your drawings there.


12. What's the difference between UDTs and EXTENDed types?
Most BASIC programmers are familiar with User Defined Types (or UDTs). A UDT is just a collection of properties (or members) of varying types. For example, the following is a UDT with 2 members (in this case they're both of the same type):
     TYPE TName
         first AS STRING*35
         last  AS STRING*35
     END TYPE
An EXTENDed type is bit more complicated, since an EXTENDed type can hold properties, methods, and events. The storage mechanism differs from that of a UDT, so even though this looks okay:
     TYPE TName2 EXTENDS QOBJECT
         first AS STRING*35
         last  AS STRING*35
     END TYPE

     DIM Name1 AS TName    '-- From previous example
     DIM Name2 AS TName2
     Name1 = Name2
This is not allowed since Name2 is an EXTENDed type and so the assignment is not compatible. Chapter 10 goes through the many features of using EXTENDed types.







This page maintained by William Yu ©1999-2000