Now about the players DB,
- do you have a Logitech keyboard, and the option to use the LCD enabled in ARM? (this is related to the DB issue, might be triggered by an error initializing the lcd dll)
- the other way this can happen is really only with the double instance.. but ive checked the code, I can't see any possible way this could trigger otherwise..
Code: Select all
MappingHandle := CreateFileMapping(INVALID_HANDLE_VALUE,
nil,
PAGE_READWRITE,
0,
SizeOf(TInstanceInfo),
PChar('AionRainMeter'));
if MappingHandle = 0 then
RaiseLastOSError
else
begin
// single first instance
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
IsG15InstanceDisabled := False;
InstanceInfo := MapViewOfFile(MappingHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TInstanceInfo));
InstanceInfo^.MainAppHandle := Application.Handle;
// lasthandle is used to sendmessage, it will be updated by 1st instance to 2nd, in case there's a 3rd
InstanceInfo^.LastAppHandle := Application.Handle;
Result := False;
end
else //already running
begin
IsG15InstanceDisabled := True; // <- this variable triggers the player DB error msg
// <- this variable triggers the player DB error msg
// <- this variable triggers the player DB error msg
// <- this variable triggers the player DB error msg
MappingHandle := OpenFileMapping(FILE_MAP_ALL_ACCESS,False,PChar('AionRainMeter'));
if MappingHandle <> 0 then
begin
InstanceInfo := MapViewOfFile(MappingHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TInstanceInfo));
InstanceInfo^.LastAppHandle := Application.Handle;
end; // openfilemapping
end; // running
end;