Zitat von
jim_raynor:
Zitat von
GuenterS:
Ich habe gerade versucht ClassName in einer class Procedure zu verwenden. Das funktioniert.
Ich habe ja auch nicht behauptet, dass es nicht funktioniert. Folgendes als Beispiel:
Delphi-Quellcode:
type
TMyClass = class of TModule;
var
MyClass: TMyClass;
begin
MyClass:=nil;
ShowMessage(IntToStr(MyClass.GetModuleID));
end;
könnte zu einer
AV führe, da er ja keine gültige Klasse bekommen hat.
Und deshalb meine Bitte. Zeig mal den Aufruf der Funktion. Eventuell übergibts du ja nil als Objekt/Klasse.
p.S: Hab schon mitbekommen, dass es eine Klassenfunktion ist, aber trotzdem kann man mit dem obigen Konstrukt eine Übergabe von nil erreichen und das dürfte dann in einer
AV in Classname verursachen, wenn dort keine prüfungen auf nil drin sind.
so ruft man aber keine class funktion auf
Delphi-Quellcode:
var
TMyClass = class(TObject)
public
class procedure Test;
end;
... aufruf
TMyClass.Test;