JohnB has asked for the wisdom of the Perl Monks concerning the following question:

I am having trouble getting Win32::RASE to run properly. I am using ActivePerl 5.6 (Build 6.20) on Windows 98.

My test program has only one line it it: use Win32::RASE;

The error message is:
perl test.pl Win32::RASE::TAPIlineGetTranslateCaps() called too early to check prot +otype at C :/Perl/site/lib/Win32/RASE.pm line 266.
Line 266 of RASE.PM is: TAPIlineGetTranslateCaps();

This is a description of TAPIlineGetTranslateCaps(); found later in the RASE.PM module

The common rule here is that empty or blank values will produce 0.0.0. +0 (as well as "0.0.0.0" itself). CountryID - CountryName - CountryCode - AreaCode - (Country ID-Name-Code and AreaCode are described in the C<TAPIlineGetTranslateCaps()> section except that here they are descri +bing the computer you want to dial to.) In C<RasSetEntryProperties()> C<CountryName> would be ignored. C<CountryID> not matching C<CountryCo +de> would give error. You could easily give only one of these two values. +C<CountryCode> would be counted properly if C<CountryID> is given (described in C<TAPIlineGetTranslateCaps()> section). But if you'll give C<CountryCo +de> C<CountryID> would be set equal to C<CountryCode> that is sometimes in +correct but does not affect the dialup connection.

Do I have to set some values in the module or change something in Windows to get this to work.

Replies are listed 'Best First'.
Re: Win32::RASE Not Working
by JohnB (Scribe) on Dec 20, 2000 at 02:26 UTC

    A few weeks ago I tried to install the Win32:RASE module and had lots of problems. This week I tried it again and got it to work. I documented all the steps in case anyone else wants to install Win32::RASE for use with Microsoft Dialup Networking and ActivePerl.

    It works on Windows Me and Windows 98. I have not tried this on Windows NT or 2000.

    Having the newest version of ActivePerl and putting nmake in the same directories as the makefiles seems to make a difference.

    ActivePerl Uninstall and reinstall the newest version of ActivePerl. Using a version a couple months old seems to make a difference.

    Install Win32::API module From DOS type: PPM install Win32::API

    Install Time::HiRes module From DOS type PPM install Time::HiRes

    NMAKE file For the next two modules you will need this file nmake15.exe. Search the Microsoft web site for NMAKE15.EXE. Microsoft frequently moves things around on their web site so it didn't provide a link. . Click on the file to uncompress it.

    Install enum.pm module Download and uncompress the enum.pm file from CPAN and it will create a directory called enum-1.016. Winzip can be used to uncompress this type of file. Place a copy of nmake15.exe in this directory and uncompress it. From DOS goto the enum-1.016 directory and type the following to compile and install the enum.pm module.

    perl Makefile.pl</br> nmake</br> nmake test</br> nmake install</br>

    Install Win32::RASE module Download Win32::RASE from CPAN. Uncompress it and it will create a directory called Win32-RASE-1.01. Place a copy of nmake15.exe in this directory and uncompress it. Goto the Win32-RASE-1.01 directory and type the following to compile and install the Win32::Rase module.

    perl Makefile.pl</BR> nmake</BR> nmake test</BR> nmake install</BR>

    Test the RASE module If the RASE module uncompressed and compiled correctly, there should be a subdirectory called EG with a program called examples.pl. A few lines down you will find this:

    #----------- printing device properties --------------- RasPrintEntryProperties("MY_ENTRY"); exit;
    Change from "MY_ENTRY" to whatever name you use for dialing a modem using Microsoft Dialup Networking. Type perl examples.pl to and verify that the modem dials and connects.


    John Bessire