2015-02-19 18 views
5

Sono hanno tale procedura classe statica nel mio record:riferimento alla procedura di classe

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

Ora ho bisogno serie di procedure come classe in mio record:

TRec2 = record 
    Procs: array of TClassProcStdcallStatic; 
end; 

Questo è possibile e come determinare TClassProcStdcallStatic?

risposta

5

Definire così:

type 
    TClassProcStdcallStatic = procedure; stdcall; 

Il static parola significa che il metodo ha alcun puntatore Self ed è un singolo tipo di funzione puntatore. A differenza dei tipi di funzione a doppio puntatore of object.

+0

e questa sarà la procedura statica di classe? –

+0

Sì, questo tipo sarà in grado di soddisfare le tue esigenze –

+0

Ah, finalmente l'hanno risolto. In D2007 dovevi ancora scrivere. (E dichiara 'TRec' come un' oggetto' invece di 'record' per evitare un errore interno del compilatore.) –

Problemi correlati