| área | UL_AREA |
| área2 | UL_AREA (consulte la nota) |
| código | int (número de identificación) |
| descripción | cadena |
| capa | entero |
| nombre del módulo | cadena |
| s1 | cadena (ver nota) |
| s2 | cadena |
| s3 | cadena |
| s4 | cadena |
| s5 | cadena |
| s6 | cadena |
| plano | int (número de plano) |
| firma | cadena (cadena de firma) |
| estado | int (ERROR_STATE_...) |
| tipo | int (ERROR_TYPE_...) |
| x, y | int (punto central) |
| contours() | UL_WIRE (consulte la nota) |
Consulte también UL_BOARD, UL_SCHEMATIC
| ERROR_STATE_ACTIVE | el error aún no se ha aprobado o procesado |
| ERROR_STATE_APPROVED | el error se ha aprobado |
| ERROR_STATE_PROCESSED | el error se ha procesado |
| ERROR_TYPE_NONE | no hay errores |
| ERROR_TYPE_WARNING | advertencia |
| ERROR_TYPE_ERROR | error |
| ERROR_TYPE_CONSISTENCY | error de coherencia |
Un UL_ERROR es un objeto abstracto que proporciona información sobre errores de ERC/DRC.
Los miembros layer y contours() solo están disponibles en el contexto UL_BOARD y los elementos area2, modulename, s1...s6 y sheet solo están disponibles en el contexto UL_SCHEMATIC.
El elemento area2 es una segunda área que solo está disponible en algunos errores de ERC y hace referencia al área correspondiente de la placa. Los miembros s1...s6 son valores de cadenas que contienen información específica de errores de ERC, tales como nombres.
El elemento de bucle contours() hace un bucle a través de los conductores del contorno del polígono de error de DRC.
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();
};