Avatar billede skizo_someone Nybegynder
26. april 2006 - 16:09 Der er 1 løsning

MATLAB: Problem med at få adgang til objekt fra funktion

Hej Ekspeter

Jeg sidder pt. og bakser med et universitets projekt i Matlab men er løbet ind i et problem.

Programmet som er under udarbejdelse udfører utroligt mange handlinger, derfor har jeg tilføjet et tekst vindue som skal fungere som log for programmet. Det er så meningen at jeg vil have en funktion, AddLogEntry(errorMessage) som kan kaldes med den tekst man gerne vil have til at stå i loggen, og så tilføjer funktionen det til vinduet.

Koden ser indtil videre således ud:

---- Kode start ----

function wjAddLog(logMessage)

% Fetching the existing content from the logWindow
logContent = get(handles.logWindow, 'String');

% Formatting the timestamp for the log message
timeStamp = datestr(now, 'HH:MM:SS');

% Gathering the timestamp and errormessage
logEntry = [timeStamp ': ' logMessage]

% Getting the dimension of the cell array, storing it in 2 variables since
% we only need to play with number of rows for the array.
[logRows, logCols] = size(logContent);

%We increment the logRow with 1, so we can add the new entry to the log
logRows = logRows+1;

%Now we're ready to add the entry
logContent{logRows, logCols} = logEntry;

%Now we only need to update the log window with the new content
set(handles.logWindow, 'String', logContent);

---- Kode slut ----

Det ser jo alt sammen fint ud, men Matlab spytter følgende fejl i hovedet på mig: ??? Undefined variable "handles" or class "handles.logWindow".

Det ser ud som om at jeg ikke kan få adgang til mit objekt, logWindow, inde fra funktionen...men hvordan skal det så gøres? Det kan da ikke passe at det ikke kan lade sig gøre!

På forhånd tak
Christian Rasmussen
Avatar billede skizo_someone Nybegynder
04. maj 2006 - 11:47 #1
Har selv, efter nogen tid, fundet svaret.
For at få det korrekte handle til objektet har jeg benyttet findobj til at søge på objektets tag, og derved returnerer MATLAB det korrekte handle som man så kan benytte.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester