in reply to How do I call C++ Dll's class Function in perl using Win32::API

use win32;
should be
use Win32;

Replies are listed 'Best First'.
Re^2: How do I call C++ Dll's class Function in perl using Win32::API
by Anonymous Monk on Mar 12, 2009 at 10:02 UTC

    shouldn't matter with a case-insensitive file system.

      It does matter.
      D:\>perl -MWin32=NULL -e " warn NULL() 0 at -e line 1. D:\>perl -Mwin32=NULL -e " warn NULL() Undefined subroutine &main::NULL called at -e line 1.
        Below i have written a C++ code for testing Test.cpp #include "Test.h"
        #include <stdio.h>
        class __declspec(dllexport) CDllTest
        {
        public:
        CDllTest(){}
        ~CDllTest(){}
        public:
        void _stdcall SayHello();
        };
        void __stdcall CDllTest::SayHello()
        {
        printf("Hello C++");
        }
        Test.h
        void _stdcall SayHello();
        Perl File Test.pl
        #!/usr/bin/perl -slw
        use strict;
        use warnings;
        #use Win32::API;
        #use Win32::API::Callback;
        #use Win32::API::Test;
        use Win32::API::Prototype;
        my $fun = Win32::API->new('D:\Documents and Settings\M1009280\My Documents\Visual Studio 2005\Projects\Test\Test\Test.dll','void SayHello()') or die $^E;
        print "$fun\n";
        my $Result = $fun->Call();
        print "$Result\n";


        when the above perl script is exectued with the correct o/p
        D:\strawberry\perl\bin>perl Test.pl
        Win32::API::parse_prototype: WARNING unknown output parameter type 'void' at D:/ strawberry/perl/site/lib/Win32/API.pm line 312.
        Hello C++
        Hai

        but need to forcebly exit to get the cmd prompt "perl.exe encountered a problem and needs to be close"
        how do i get rid of this problem
        Is the problem from perl script or C++ code?