$Key = $Registry->Open( "LMachine/Software/Vibac_Calls/CallsList/Fields", {Access=>KEY_READ(),Delimiter=>"/"} ) or warn "OPEN: $Key -> (ERROR: $^E)\n";
my @regFields = $Key->SubKeyNames;
$data_mycalls{fields} = ();
for my $x(0..$#regFields)
{
my $fieldKey = $Registry->Open( "LMachine/Software/Vibac_Calls/CallsList/Fields/$regFields[$x]", {Access=>KEY_READ(),Delimiter=>"/"} ) or warn "OPEN: $Key -> (ERROR: $^E)\n";
#print (join " ", keys %{$fieldKey}) . "\n";
my @regValues = $fieldKey->ValueNames; #THIS IS THE LINE IN MY CODE WHERE THE ERROR APPEARS
for my $y(0..$#regValues)
{
$data_mycalls{fields}[$x]{$regValues[$y]} = $fieldKey->GetValue($regValues[$y]);
}
}
####
sub _enumValues
{
my $self= shift(@_);
$self= tied(%$self) if tied(%$self);
my( @names )= ();
my $pos= 0;
my $name= "";
my $nlen= 1+$self->Information("MaxValNameLen");
while( $self->RegEnumValue($pos++,$name,$nlen,[],[],[],[]) ) {
push( @names, $name );
}
if( ! _NoMoreItems() ) {
return ();
}
$self->{VALUES}= \@names;
return 1;
}
sub ValueNames
{
my $self= shift(@_);
$self= tied(%$self) if tied(%$self);
@_ and croak "Usage: \@names= \$key->ValueNames;";
$self->_enumValues unless $self->{VALUES};
return @{$self->{VALUES}}; #THIS IS THE LNE THAT THROWS THE ERROR
}
####
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields]
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\0]
"field"="calls.id"
"header"="ID"
"visible"="1"
"width"="32"
"type"=""
"recordlink"=""
"displaylink"=""
"sort"="ASC"
"sorttype"="number"
"displaypos"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\1]
"field"="calls.caller"
"header"="Caller"
"visible"="1"
"width"="100"
"type"=""
"recordlink"="users2.id"
"displaylink"="users2.fullname"
"sort"=""
"sorttype"="text"
"displaypos"="1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\2]
"field"="calls.responder"
"header"="Responder"
"visible"="0"
"width"="100"
"type"=""
"recordlink"="users2.id"
"displaylink"="users2.fullname"
"sort"=""
"sorttype"="text"
"displaypos"="2"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\3]
"field"="calls.details"
"header"="Details"
"visible"="1"
"width"="240"
"type"=""
"recordlink"=""
"displaylink"=""
"sort"=""
"sorttype"="text"
"displaypos"="3"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\4]
"field"="calls.resolution"
"header"="Resolution"
"visible"="1"
"width"="182"
"type"=""
"recordlink"=""
"displaylink"=""
"sort"=""
"sorttype"="text"
"displaypos"="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\5]
"field"="calls.time"
"header"="CallDate"
"visible"="1"
"width"="109"
"type"=""
"recordlink"=""
"displaylink"=""
"sort"="ASC"
"sorttype"="number"
"displaypos"="5"
[HKEY_LOCAL_MACHINE\SOFTWARE\Vibac_Calls\CallsList\Fields\6]
"field"="calls.closed"
"header"="Closed"
"visible"="1"
"width"="40"
"type"="check"
"recordlink"=""
"displaylink"=""
"sort"=""
"sorttype"="number"
"displaypos"="6"