2011-05-30 21 views
7

Oye, Delphi Web Script es realmente un gran motor de scripting. Intento usarlo en uno de mis proyectos. Sin embargo, no estoy seguro de si es posible enumerar todos los tipos, funciones que están disponibles dentro del motor de scripting, p. Quiero tener una lista con todos los métodos que podría usar al escribir scripts (esto incluye todos los tipos internos y externos, funciones, procedimientos, etc.). Fast script tiene el componente treeview que expone todos los tipos que puede usar. Estoy buscando algo así en dwscript. Gracias por adelantado.dwscript: ¿cómo enumerar todos los tipos disponibles?

Respuesta

2

Encontrará todos los tipos en las tablas de símbolos (TSymbolTable) que se adjuntan a cada entidad DWScript compilada, tiene una en los programas compilados, en las funciones/métodos compilados y en los bloques que tienen un alcance .

Si desea enumerar todos los símbolos visibles en un ámbito particular, no solo tendrá que ver lo que contiene un TSymbolTable en particular, sino también sus padres (que también son TSymbolTable), que contienen los símbolos desde los ámbitos principales (incluidos los símbolos de la unidad y la biblioteca). Para los métodos de clase &, los encontrará en los miembros [] de un TClassSymbol.

DWS2 repository on sourceforge contiene algunas muestras que aún no se han convertido en el repositorio DWS2.x, pero debe ser razonablemente fácil de adaptar.

+0

Gracias por la respuesta. Me las arreglé para obtener todo al enumerar compilado IdwsProgram Table. Pero, ¿es posible obtener la misma tabla sin compilar mi script? No es gran cosa, puedo vivir con eso si no es posible porque descubrí que funciona incluso cuando el script compila con errores. Pero aún así, sería interesante saberlo. – Linas

+0

@Linas: Como cuestión de interés, ¿creó algo ordenado en el camino de un IDE simple con puntos de interrupción para DWS? Pronto reemplazaré un motor de secuencias de comandos horrible en mi código y realmente apreciaría un ejemplo simple de IDE + puntos de interrupción. –

+0

@Brian Solo estoy empezando a integrar dwscript en mi aplicación. Actualmente tengo IDE de scripting muy simple sin puntos de interrupción, etc. Pero estoy planeando agregar más funciones más adelante. – Linas

Cuestiones relacionadas