Some information about WSLDIAL Errors

The following has been compiled from various responses to questions in the clarion newsgroups. Authors have been mentioned where possible.

Occasionally while using clarion you may get a runtime error mentioning WSLDIAL. Hopefully some of the information below will help you to track down the reason.

Internal Error 01 : WSLDIAL

RESPONSE 1 :

Sounds like use a memofield without open the file

RESPONSE 2 :

You have a control or controls in the window/report you trying to open that has no the Use variable specified. Most probable is that you've erroneously used ? in front of variable name as a value of the USE attribute, e.g.

...,USE(?Variable),...

instead of

...,USE(Variable),...

Alexey Solovjev


Internal Error 02 : WSLINST

RESPONSE 1 :

This occurs when the threaded variable manager tries to swap in a threaded variable for which it has no saved value. It should never happen, and I don't know of any circumstance in which it does happen. If anyone has a reproducible instance of it (preferably small) I'd like to see it.

Richard Chapman TopSpeed Corporation

RESPONSE 2 :

Carefully delete all compiler debris files, then recompile all code and components using the same Run Time Library property.

RESPONSE 3 :

To summarise : There is a bug in the intellimouse driver when running lots of programs under Winnt that (in theory) has been fixed with version 2.2a (document Q189770 at microsoft support) The workaround is to go to the list of apps that intellimouse should ignore and add Clarion to them.


Internal error 02 - WSLDIAL

RESPONSE 1 :

This error occurs when trying to run an application and opening a window that has no resources allocated or defined. This usually occurs when a procedure is called from linked in library.

To remedy this problem, go into the project properties (Project button from the Application tree window) and insert the *.rsc file associated with the module returning the error. *.rsc files are usually generated in the \obj subdirectory of your installed CW and there is one for each generated …clw.

Place the file in the project tree in the section named "Library and Object files". FAQ from Steve Parker, http://www.par2.com

RESPONSE 2 :

WSLDIAL 02 means that the RTL can't find a WINDOW/REPORT resource requested from the OPEN statement. Usually this is because missed or broken RSC file at link time.

Alexey Soloyjev, 3June99, topspeed.products.c5pe


Internal Error 03 : WSLDIAL

RESPONSE 1 :

I have fixed the WSLDIAL Internal error 03 problem (Incorrect use variable)

Error 513 - internal error 13
Error 516 seems to be the same problem

Check the c:\cwee\bin\c5ee.ini file for the entry below:

brwcfg=c:\CWEE\BIN\C5BRW.INI

Make sure that it (and any other path related stuff) points to the correct drive/path.

RESPONSE 2 :

Check the size of Clarion5\Bin\C5Brw.INI. It's probably near or over 64Kb. If so, load it in a text editor and remove the sections for files you don't need.

RESPONSE 3 :

Delete the C5brw.ini file in Clarion5/bin directory, it most likely points to wrong (non existing) directories somewhere or has grown >64K

Best regards, Arnor Baldvinsson [Team Topspeed - Internet Connect]


Internal Error 04 : WSLDIAL

(Note: This was not in the original post by Kevin B. Erskine. It is a compilation of several responses)

This error is generated by incorrect data definitions. Declarations must be the same throughout apps and dlls eg: SampleQ Queue,THREAD,external,dll SampleQ Queue,THREAD,dll (Missing the external attribute)

2 other known Causes.


Internal Error 05 :

RESPONSE 1 :

It's an internal library error that has to do with an internal mouse hook. Since that hook is used for flat buttons, if you toolbar happens to have flat buttons, dont make them flat. As far as I know this was fixed in the last c5b release or at least I have not seen it recently.


Unknown Error Posted 6:

Parameter Typing Error - GPF?

RESPONSE 1 :

This indicates an internal error in the handling of ANY variables - if you can email me an example APP/DCT I will investigate.

Richard Chapman TopSpeed Development Centre

Gregory Bailey posted this in the comp.lang.clarion newsgroup 14/09/2009

wsldial 01 error could be:

  • A screen or report variable is missing a ? in front of the variable.
  • You are using a reserved word as a variable

wsldial 02 error for which the program is saying:

“I can’t find a resource that I need”
eg. it can’t find a window, icon or bitmap resource.

  • Do Module names exceed 8.3 format and length?
  • Can all icons be located.
  • Delete all clw/obj/rsc files for dll’s/lib’s/exe and recompile all.

wsldial 03 error

  • A procedure is calling itself.

wsldial 04 error

This error is generated by incorrect data definitions.
Declarations must be the same throughout apps and dlls
eg: SampleQ Queue,THREAD,external,dll
SampleQ Queue,THREAD,dll (Missing the external attribute)

I can also add to the wsldial 01 list
use of &QUEUE in the FROM attribute of a LIST eg

NewQu               QUEUE,TYPE
fld1                    string(20)
                    end
newQ                &NewQu
test                WINDOW,AT(100,100,318,240),DOUBLE
                        LIST,AT(25,16,260,186),USE(?LIST1),FROM(newQ)
                    END
    CODE
        newQ &= New(NewQu)
        Open(Test)  ! blows up right here  wsldial 01

from a post by Bob Roos comp.lang.clarion 04/12/20011

Graham

1 Like

Another example of WSLDIAL 04.
I had two classes that both shared a reference to a Critical Section object.
During program shutdown, the class that created the critical section destructed first and the Critical Section was “killed”.
Then the 2nd class with the reference to the critical section attempted to use the critical section during it’s Kill method.
This caused the program to crash with a WSLDIAL 04 error.

The internal WSLDIAL 04 error is raising on attempt to open a window or a report in a thread which is in the termination stage. Most probably, this happens if the entire process is terminating because of some fatal error caught before.

1 Like

Good know. Thanks, Alexy.

If that’s the case, it was probably trying to display an error message about the illegal usage of the reference variable.

Seems like you need some “reference counting” of the CS so you know its in use and to not destruct until all classes are done.

Or just never dispose the CS. There is no need for you to dispose the CS to prevent a memory leak, the OS will clean the CS up when it cleans up the closed process.

Orphaned references are a problem, alright.

It would be cool to have a self-revoking reference that could also redirect that reference to something that would not crash. Send the reference to the retirement lounge, and no calling the Ex. :slight_smile: