Mój problem tyczy się systemowego dziennika zdarzeń. W Rejestrze dodałem klucz HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System\MyApp i wartościach:
EventMessageFile=D:\Testy\EventLog\MsgFile\MsgFile.dll
TypesSupported=7
Do pliku MsgFile.dll dołączem zasób:
1 MESSAGETABLE
BEGIN
0, "Pierwszy element: %1 Drugi element: %2"
1, "Drugi element: %2 Pierwszy element: %1"
END
Teraz w programie mam taki kod:
procedure TForm2.Button1Click(Sender: TObject);
var
log:THandle;
str:array [0..1] of string;
begin
str[0]:='aaa';
str[1]:='bbb'; log:=RegisterEventSource(nil,'MyApp');
ReportEvent(log,EVENTLOG_ERROR_TYPE,0,0,nil,3,0,@str,nil);
DeregisterEventSource(log);
end;
Wtedy w dzienniku zdarzeń pojawia się komunikat: "erwszy element: aaa Drugi element: bbb"
Gdy 4 parametr funkcji ReportEvent (Identyfikator zdarzenia) zmienię na 1 to przy próbie otwarcia tewgo komunikatu w dzienniku zdarzeń pojawia się komunikat o błędzie w mmc.exe(moduł:ntdll.dll).
Bardzo prosze o pomoc w rozwiązanie tego problemu. ;-(