|
Yorck |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 16.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.05.2011, 07:01
Titel: Compile mit GUI
|
|
|
|
|
Hallo,
ich habe drei Programme geschrieben (sagen wir a.m,b.m,c.m), in denen die Berechnungen durchgeführt werden. Dann habe ich dafür ein kleines GUI gebastelt (sagen wir X.m), in dem eigentlich nur die Parameter eingegeben werden. Im Matlab funktioniert das einwandfrei. Ich möchte jetzt eine Windows-Stand-Alone Anwendung erstellen.
Ich nutze das deploytool
Als Hauptprogramm definiere ich das GUI .m file (X.m). Die anderen .m files definere als Ressourcen Files. Der Build Prozess läuft durch und erzeugt mein .exe. Wenn ich die .exe starte baut sich mein GUI mit den Eingabefelder auf. ABER: Wenn ich jetzt Werte eingebe, dann verhält es sich anders als in der Entwicklungsumgebung. Sobald ich aufs nächste Feld springe, wird der Eingabewert des vorherigen Feldes gelöscht. Ich habe in dem GUI ebenfalls einen Pushbutton installiert mit dem ich die eigentlichen Rechnungen starten kann. Wenn ich das bei der .exe mache, würde ich aus den Ergebnissen sagen, dass meine Programme keine Parameter aus der Eingabemaske bekommen.
Was muss ich anders machen?
|
|
|
|
|
Marco H. |
Forum-Guru
|
|
Beiträge: 404
|
|
|
|
Anmeldedatum: 12.11.10
|
|
|
|
Wohnort: Dortmund
|
|
|
|
Version: 2010a/2012b
|
|
|
|
|
|
Verfasst am: 16.05.2011, 12:07
Titel:
|
|
Hey,
versuch mal nur dein main m-File (X.m) ins deploytool zu laden. Den Rest bitte entfernen (also deine a.m,b.m,c.m entfernen). Auch das X.fig -File musst du nicht ins deploytool laden. Hilft das?
MfG Marco
|
|
|
Yorck |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 16.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.05.2011, 12:59
Titel:
|
|
Hallo Marco,
leider nicht.Gleiches Verhalten. Ich hatte die .fig file ursprünglich nicht mit drin, aber ob drin oder draussen, das gleiche Ergebnis
|
|
|
Marco H. |
Forum-Guru
|
|
Beiträge: 404
|
|
|
|
Anmeldedatum: 12.11.10
|
|
|
|
Wohnort: Dortmund
|
|
|
|
Version: 2010a/2012b
|
|
|
|
|
|
Verfasst am: 16.05.2011, 22:25
Titel:
|
|
Mmhh seltsam,
1. welche Version nutzt du?
2. gibt es vll eine Fehlermeldung in der Konsole (also im Schwarzen Fenster)?
3. wie lädst du denn die vom User eigegebenen Variablen aus der Gui aus? Kannste da mal ein Beispiel eines Editfeld-Callbacks und des Pushbutton-Callbacks geben?
4. hast du beim erneuten kompilieren die existierendem Daten (.c und exe (src & distr Ordner)) überschrieben oder erst gelöscht und dann kompiliert?
MfG Marco
|
|
|
Yorck |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 16.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2011, 21:46
Titel:
|
|
|
|
|
Hallo Marco
1 version ist 2010a (7.10.0.499).
2 ich sehe überhaupt keine Error Meldung
3. Beispiel Code (habe ich aus irgendeinem GUI Tutorial)
function input1_editText_Callback(hObject, eventdata, handles)
% hObject handle to input1_editText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of input1_editText as text
% str2double(get(hObject,'String')) returns contents of input1_editText as a double
if (isempty(input))
set(hObject,'String','0');
end
guidata(hObject,handles);
function calc_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to calc_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% FluidProp initalisieren
Init_FluidProp;
% Werte holen
a=get(handles.input1_editText,'String');
b=get(handles.input2_editText,'String');
c=get(handles.input3_editText,'String');
d=get(handles.input4_editText,'String');
e =get(handles.input5_editText,'String');
% VOn String auf Zahlen konvertieren !!!
Tk=str2num(a);
Tv=str2num(b);
Q=str2num(c);
Ndue=str2num(d);
deltaG=str2num(e);
% Der Name ist ein String
Cmp=get(handles.input7_editText,'String');
4. ich habe alles noch mal gelöscht und neu compliert. Gleiches Problem. Das Programm scheint ja grundsätzlich zu laufen
danke und vg
yorck
|
|
|
Yorck |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 16.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2011, 22:15
Titel:
|
|
Hallo Maro,
ich habe meinen Feher gefunden. Man sollte halt das Tutorial richtig lesen. Mich wundert jetzt allerdings, warum das Programm im Matlab funktioniert hat....
seis drum
danke
yorck
|
|
|
Marco H. |
Forum-Guru
|
|
Beiträge: 404
|
|
|
|
Anmeldedatum: 12.11.10
|
|
|
|
Wohnort: Dortmund
|
|
|
|
Version: 2010a/2012b
|
|
|
|
|
|
Verfasst am: 17.05.2011, 23:11
Titel:
|
|
Hey,
ja gut. Dann sag doch den Leuten hier mal wo dein Fehler war. Damit man es nachvollziehen kann... Achja und benutze doch bitte zukünftig für den Code die "Code anzeigen Funktion". Dann ist der auch besser lesbar... Ein Tipp noch. Benutze den Debugger in Matlab. Der ist Gold wert... Dann kannst du bestimmt auch erkennen warum es funktioniert hat...
MfG Marco
|
|
|
Yorck |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 16.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.05.2011, 21:14
Titel:
|
|
Tja, ich habe einfach den input in der Callback Funktion nicht abgerufen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|