CX_SYSTEM_OBJECT::ParseForLiterals
Beschreibung:
Mit dieser Methode werden Text-Konstanten aus InstantView® Source-Code extrahiert und als Objekte der Klasse CXI_TEXT_LITERAL zur Verfügung gestellt.
Die Methode hat keinen Rückgabewert. Die Ergebnisse werden mit der als Parameter übergebenen Message geliefert:
- Text-Konstanten aus dem analysierten InstantView® - Code als CXI_TEXT_LITERAL - Vektor
- Texte in der Übersetzungsdatei appsWHLiterals.stg ohne Bezug zum analysierten InstantView® - Code, ebenfalls als Vektor von CXI_TEXT_LITERAL - Objekten
ParseForLiterals ist das Kernstück des Literal-Browsers für InstantView®.
Hinweis: 211394 arbeitet diese Methode synchron und die darauffolgende Anweisung wird erst nach Abschluss des Parse-Vorgangs ausgeführt.
Code-Beispiel:
Msg(REPORT_PARSING_PROGRESS) . . . "CX_PATH" SystemObject Call(GetEnvironment) "*.mod" (REPORT_PARSING_PROGRESS) SystemObject Call(ParseForLiterals) REPORT_PARSING_PROGRESS: case 1: // Step 1 - just parsing a certain InstantView module "Parsing " Swap + PutValue(ListWin, ParsingProgress) 2: // Step 2 - lookup for multiple string constants in some module "Text lookup in " Swap + PutValue(ListWin, ParsingProgress) 4: // Step 4 - finished: display remaining results Get(collection) FillObox(ListWin, ListBox) 5: // Step 5 - display Literals from CX_STRING.002 which lost relation to the the current InstantView source code FillObox(OrphanWin, ListBox) endCase
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | OBJEKT | SystemObject |
Top-1 | INTEGER | eine InstantView® Message | |
Top-2 | STRING | Dateimaske | |
Top-3 | STRING | Pfad(e) (durch Semikolon getrennt) | |
Stack(Out) |
Response-Messages
Die aus der Methode gesendete Message liefert Progress-Feedback und die Ergebnisse, der Wert auf Stack-Top - ein CX_INTEGER - beschreibt die Verarbeitungsphase:
Stack Top | Stack Top-1 | Bedeutung | gesendet |
---|---|---|---|
CX_INTEGER(0) 210600 |
CX_INTEGER | Anzahl der Module, die geparst werden | nur einmal |
CX_INTEGER(1) | STRING | der Name des gerade zu parsenden Moduls | für jedes Modul |
CX_INTEGER(2) | STRING | der Name eines Moduls, dessen Textkonstanten gerade zusammengesucht werden | |
CX_INTEGER(4) | CX_CONTAINER | Im Slot collection befinden sich die Textkonstanten aus dem InstantView® - Code | nur einmal |
CX_INTEGER(5) | CX_CONTAINER | Im Slot collection befinden sich nicht mehr referenzierte Literale aus appsWHLiterals.stg | |
CX_INTEGER(6) |
STRING, Top-2: STRING | Modulename und Fehlermeldung bei Fehlern während des Parsens | für jeden Fehler |