my $CreateTable = new Win32::API("myDll.dll","HANDLE myTableCreate()");
if(not defined $CreateTable) {
die "Can't import API myTableCreate(): $!\n";
}
#Create an empty tables.
$aTable = $CreateTable->Call();
use Data::Dumper;
$Data::Dumper::Useqq = 1;
print Dumper($aTable);
print("Empty Table Created.\n");
# pack the table.
my $packedaTable = pack('J',$aTable);
print Dumper($packedaTable);
if(unpack('J',$packedaTable) == $aTable)
{print "I know how to pack this table.\n";}
else
{die "I dont know how to pack this table";}
####
$VAR1 = 48120353;
Empty Table Created.
$VAR1 = "!B\336\2\0\0\0\0";
I know how to pack this table.
####
# aTable Path
my $pathATable = 'C:/Temp/Requests/testTable.TBL';
# Load the function.
my $LoadTableFromFile = new Win32::API("myDll.dll","myTableLoadFromFile", 'PP', 'I');
if(not defined $LoadTableFromFile) {
die "Can't import API myTableLoadFromFile(): $!\n";
}
my $isLoaded = $LoadTableFromFile->Call($pathATable,$packedaTable);
print("Table loaded");
####
#ifdef MYTABLE_EXPORTS
# define MYTABLE __declspec(dllexport)
#else
# define MYTABLE __declspec(dllimport)
#endif
MYTABLE enum cStatus myTableLoadFromFile(char const* filename, myTable* raw_result);