2015-02-19 9 views
5

Jestem mieć taką procedurę statycznej klasy w moim rekordzie:odniesienia do procedury klasy

TRec = record 
    class procedure Proc; stdcall; static; 
end; 

Teraz muszę szereg procedur, takich klas w moim rekordzie:

TRec2 = record 
    Procs: array of TClassProcStdcallStatic; 
end; 

Jest to możliwe i jak ustalić TClassProcStdcallStatic?

Odpowiedz

5

zdefiniować tak:

type 
    TClassProcStdcallStatic = procedure; stdcall; 

static słów kluczowych oznacza, że ​​metoda ma Self wskaźnik i jest jeden typ funkcja wskaźnik. W odróżnieniu od of object typów funkcji podwójnego wskaźnika.

+0

i czy to będzie procedura statyczna w klasie? –

+0

Tak, ten typ będzie służyć Twoim potrzebom. –

+0

Ah, w końcu to naprawili. W D2007 wciąż trzeba było rzucać. (I zadeklaruj 'TRec' jako' object' zamiast 'record', aby uniknąć wewnętrznego błędu kompilatora.) –