diff --git a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java
index d301bc1b8..46b7cead8 100644
--- a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java
+++ b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java
@@ -797,7 +797,8 @@ public final class EditorFactory {
if (app != null) {
try {
getAttributeDialog().storeEditedValues();
- if (app.ensureConsistency(elementAttributes))
+ final boolean consistent = app.ensureConsistency(elementAttributes);
+ if (consistent)
getAttributeDialog().updateEditedValues();
PortDefinition ins = new PortDefinition(elementAttributes.get(Keys.EXTERNAL_INPUTS));
@@ -807,10 +808,11 @@ public final class EditorFactory {
try {
String message = app.checkCode(label, code, ins, outs);
- if (message != null && !message.isEmpty())
- new ErrorMessage(Lang.get("msg_checkResult") + "\n\n" + message).show(getAttributeDialog());
+ if (message != null && !message.isEmpty()) {
+ createError(consistent, Lang.get("msg_checkResult") + "\n\n" + message).show(getAttributeDialog());
+ }
} catch (IOException e) {
- new ErrorMessage(Lang.get("msg_checkResult")).addCause(e).show(getAttributeDialog());
+ createError(consistent, Lang.get("msg_checkResult")).addCause(e).show(getAttributeDialog());
}
} catch (EditorParseException e) {
e.printStackTrace();
@@ -818,6 +820,13 @@ public final class EditorFactory {
}
}
}
+
+ private ErrorMessage createError(boolean consistent, String message) {
+ if (!consistent)
+ message = Lang.get("msg_codeNotConsistent") + "\n\n" + message;
+ return new ErrorMessage(message);
+ }
+
}.setToolTip(Lang.get("btn_checkCode_tt")).createJButton();
combo.addActionListener(new AbstractAction() {
@Override
diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml
index 6ba408ddf..eb6d685d2 100644
--- a/src/main/resources/lang/lang_de.xml
+++ b/src/main/resources/lang/lang_de.xml
@@ -1689,6 +1689,8 @@ Soll dennoch exportiert werden?
Startet die Anwendung um zu prüfen, ob der eingegebene Code korrekt ist. Falls das
nicht der Fall ist, wird die Fehlermeldung der externen Anwendung angezeigt. Wenn es möglich ist, werden zudem
die Eingangs- und Ausgangsdefinitionen an den aktuellen Code angepasst.
+ Ein- und Ausgängsdefinitionen konnten nicht automatisch erzeugt werden.
+ Bitte prüfen Sie die Einstellungen!
Ausführbare Datei "{0}" nicht gefunden!
Text eingeben!
Starte ATMISP
diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml
index 74ea0270e..e326b4f1a 100644
--- a/src/main/resources/lang/lang_en.xml
+++ b/src/main/resources/lang/lang_en.xml
@@ -1669,6 +1669,8 @@
Starts the application to check if the entered code is correct.
If this is not the case, the error message of the external application is displayed.
If possible, the input and output definitions are also adapted to the current code.
+ Input and output definitions could not be created automatically.
+ Please check the settings!
Executable file "{0}" not found!
Enter Text!