1. Ich vermute (habe die Funktion noch nie Verwendet) das hängt mit deinen Parametern zusammen. Du übergibst der Funktion ja die ID "4".
3. Du überschreibst bei deiner "LizenzMessage" immer den Wert, anstatt sie zusammen zu hängen. Funktionieren kann es zB so:
Delphi-Quellcode:
LizenzMessage:='Seriennummer:'+#13#10;
LizenzMessage:= LizenzMessage + 'Registriert für:'+#13#10;
LizenzMessage:= LizenzMessage + Lizenz.Firma+#13#10;
LizenzMessage:= LizenzMessage + Lizenz.Vorname+' '+Lizenz.Name+#13#10;
LizenzMessage:= LizenzMessage + Lizenz.Strasse+#13#10;
LizenzMessage:= LizenzMessage + Lizenz.PLZ+' '+Lizenz.Stadt+#13#10;
LizenzMessage:= LizenzMessage + 'Telefon: '+Lizenz.Telefon+#13#10;
LizenzMessage:= LizenzMessage + 'E-Mail: '+Lizenz.EMail+#13#10;
LizenzMessage:= LizenzMessage + 'Seriennr: '+Lizenz.SerienNr+#13#10;
Zu 2. kann ich leider nichts sagen.[/QUOTE]
Du kannst es zwar nicht sehen, aber bezüglich deiner Lösung zu Punkt 3 schlage ich mir gerade mehrfach mit der Hand vor den Kopf

Bei sowas hilft natürlich auch keine Brille
Zu 1.: Wenn ich keine ID übergehen wird automatisch die ID 0 verwendet. Was zur gleichen Meldung führt, nur eben mit der ID 0.
Die Kategorien muss man ja in die Ressource verfügbar machen. Muss man das mit den Ereignis-ID's vielleiht auch? Aber das es ja bei anderen auch funktioniert hat
siehe hier, sollte es ja auch so gehen.