| area | UL_AREA |
| area2 | UL_AREA (siehe Anmerkung) |
| Code | Ganzzahl (ID-Nummer) |
| Beschreibung | Zeichenfolge |
| Layer | int |
| modulename | Zeichenfolge |
| s1 | Zeichenfolge (siehe Anmerkung) |
| s2 | Zeichenfolge |
| s3 | Zeichenfolge |
| s4 | Zeichenfolge |
| s5 | Zeichenfolge |
| s6 | Zeichenfolge |
| sheet | Ganzzahl (Plannummer) |
| signature | Zeichenfolge (Signaturzeichenfolge) |
| Status | Ganzzahl (ERROR_STATE_...) |
| type | Ganzzahl (ERROR_TYPE_...) |
| x, y | Ganzzahl (Mittelpunkt) |
| contours() | UL_WIRE (siehe Anmerkung) |
Siehe auch UL_BOARD, UL_SCHEMATIC.
| ERROR_STATE_ACTIVE | Fehler wurde noch nicht bestätigt oder verarbeitet. |
| ERROR_STATE_APPROVED | Fehler wurde bestätigt. |
| ERROR_STATE_PROCESSED | Fehler wurde verarbeitet. |
| ERROR_TYPE_NONE | Kein Fehler |
| ERROR_TYPE_WARNING | Warnung |
| ERROR_TYPE_ERROR | Fehler |
| ERROR_TYPE_CONSISTENCY | Konsistenzfehler |
Ein UL_ERROR-Objekt ist ein abstraktes Objekt, das Informationen über ERC-/DRC-Fehler enthält.
Die layer*- und *contours()-Elemente sind nur im UL_BOARD-Kontext verfügbar, und die area2-, modulename-, s1...s6*- und *sheet-Elemente sind nur im UL_SCHEMATIC-Kontext verfügbar.
Das area2-Element ist eine zweite Fläche, die nur bei einigen ERC-Fehlern verfügbar ist und sich auf die entsprechende Fläche der Leiterplatte bezieht. Die Elemente s1...s6 sind Zeichenfolgenwerte, die bei ERC-Fehlern spezifische Informationen wie Namen enthalten.
Das contours()-Loop-Member durchläuft die Konturlinien des DRC-Fehlerpolygons.
string s1;
string ErrLst[];
int ErrCnt = 0;
string ErrLstHeader;
if (board) board(B) {
ErrLstHeader = "Code\tState\tDescription\tLayer\tSignature";
if (B.checked) {
B.errors(ER) {
if (ER.state == ERROR_STATE_ACTIVE) {
sprintf(s1, "%d\t%d\t%s\t%d\t%s", ER.code, ER.state, ER.description, ER.layer, ER.signature);
ErrLst[ErrCnt++] = s1;
}
}
}
}
if (schematic) schematic(SCH) {
ErrLstHeader = "Code\tState\tDescription\tSheet\tModule\ts1\ts2\ts3\ts4\ts5\ts6";
if (SCH.checked) {
SCH.errors(ER) {
if (ER.state == ERROR_STATE_ACTIVE) {
sprintf(s1, "%d\t%d\t%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s", ER.code, ER.state, ER.description, ER.sheet, ER.modulename, ER.s1, ER.s2, ER.s3, ER.s4, ER.s5, ER.s6);
ErrLst[ErrCnt++] = s1;
}
}
}
}
dlgDialog("Errors") {
int sel = -1;
dlgListView(ErrLstHeader, ErrLst, sel);
dlgPushButton("+OK") dlgAccept();
};