Hallo zusammen
Ich versuche eine eigene generische Klasse zu verwenden. Dies sieht ungefähr folgendermassen aus:
@class TestWorkerClass, GenClass;
@instance word TWI_mode = 0;
@message word MSG_TEST_WORKER_GET_MODE();
@endc;
@classdecl TestWorkerClass, neverSaved;
@method TestWorkerClass, MSG_META_INITIALIZE
{
@callsuper();
pself->TWI_mode = 10;
}
@method TestWorkerClass, MSG_TEST_WORKER_GET_MODE
{
return pself->TWI_mode;
}
Display More
Von dieser Klasse habe ich ein Objekt:
Nun habe ich versucht, dieses Objekt zu verwenden. Meiner Meinung nach müsste die Methode MSG_TEST_WORKER_GET_MODE() den Wert 10 zurückgeben. Ich erhalte aber die 3. Das wiederum würde bedeuten, dass die Methode MSG_META_INITIALIZE() nicht aufgerufen wurde. Wenn ich diese von Hand aufrufe, dann bekomme ich im Nachhinein auch den richtigen Wert.
Muss ich meine eigenen Objekte speziell registrieren, damit die MSG_META_INITIALIZE() beim Starten der Anwendung und somit der Instanziierung des Objektes ausgeführt wird? Oder liegt es an der Platzierung im Gen-Tree? (habe bis jetzt GenPrimary versucht)
Ist es richtig, dass die Messages vom process-Thread verarbeitet werden?
Besten Dank schon einmal für Eure Hints