Forum: PC-Programmierung Matlab GUI auf anderem PC starten


von KingKarl (Gast)


Lesenswert?

Hallo zusammen,

ich brauche dringend eure Hilfe. Ich arbeite derzeit an einer GUI. Ich 
öffne den Guide und öffne dort meine fig und alles funktioniert. Kopiere 
ich die Daten in ein anderes Verzeichnis oder auf einen anderen PC 
funktioniert die GUI nicht mehr. Er bringt mir an dieser Stelle dann 
folgendes:

Ich wähle mehrere Bilder aus und schreibe die in eine Variable:

function button_imagesource_Callback(hObject, eventdata, handles)

[filename, pathname] = uigetfile({'*.bmp;*.jpg','Graphic Files 
(*.bmp,*.jpg)';
     '*.bmp','BMP-Files (*.bmp)'; ...
     '*.jpg','JPG-Files (*.jpg)'; ...
     '*.*',  'All Files (*.*)'},'MultiSelect', 'on')




    global first;
    if first == 0

        filename = unique(filename); %sort filenames and delete 
duplicates
        handles.filename = filename;
        handles.pathname = pathname;
        first = 1;

    else

        if iscell(filename)
            filename = unique(filename);
        end

    end

    if isequal(filename,0) | isequal(pathname,0)
        return;
    end


   disp(handles) % Das struct handles wird hier nicht angezeigt!!!
   inputFileNames = get(handles.listbox,'String'); % Hier kommt der 
Fehler




hier kommt dann:

filename =

'2.bmp' '3.bmp' '4.bmp' '5.bmp' '6.bmp'


pathname =

C:\Programme\MATLAB701\work\

??? Attempt to reference field of non-structure array.



Das Problem ist folgendes:

wenn ich die GUI ohne den Guide starte, dann springt er mir nicht in die 
Funktion:

function bla_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to gui_mtf (see VARARGIN)

% Choose default command line output for bla
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

hier wird nämlich die handles Struktur definiert. Da er hier nicht 
reinspringt, kennt er die Struktur auch nicht und meckert dann wenn man 
auf die zugreifen will....

Weiß jemand wieso er nicht reinspringt?

Ich muss die GUI so zum laufen bringen, dass ich sie auf einem anderen 
Rechner starten kann. Später wenn alles fertig ist möchte ich mit dem 
Matlab Compiler eine Exe erstellen, die dann anderen mit Hilfe von 
Matlab Runtime... starten und verwenden können.

Hoffe auf schnelle Hilfe, da ich ein wenig unter Zeitdruck stehe. Der 
Großteil hier im Forum ist ja sher kompetent.

von KingKarl (Gast)


Lesenswert?

Hat sich erledigt. In einem anderen Forum wurde mir bereits geholfen. 
Für meine Nachfolger:

Es lag daran, dass ich die GUI über den Guide gestartet habe. Man muss 
aber das m-file an sich starten, da u.a. die handles Struktur nicht 
initilisiert wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.