WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Standalone App: Externe m-Datei mit Code öffnen

 

elchico
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2020, 10:45     Titel: Standalone App: Externe m-Datei mit Code öffnen
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine Standalone App (.exe), die eine externe m-Datei öffnen soll. In dieser externen m-Datei ist auszuführender Code drin. Da sich der Name + Code pro externer m-Datei habe ich ein Workaround gewählt, welches mir grade auf die Füße fällt:

In meiner externen Datei habe ich in der zweiten Zeile einen Kommentar eingefügt, welcher exakt so geschrieben wird wie wenn man diese externe Datei aus einer anderen Funktion heraus aufrufen wollte. Diesen Kommentar reduziere ich um das anfängliche "%" und führe ihn dann mit
Code:
eval(CommentExpr);

aus. Hier liegt das Problem ...

Das Problem ist, dass diese externe m-Datei nicht im gleichen Ordner ist wie die Standalone. Meine Frage ist jetzt, wie ich der Standalone-Datei beibringen kann, bei der Zeile "eval ..." in dem Ordner xy zu suchen? Der Ordner ist immer der gleiche, falls das hilfreich ist, nur Namen + Code der m-Dateien ändern sich.

Danke und LG
Michi

Standalone-Datei Code zum öffnen der externen Datei:
Code:

try
            fidCost = fopen(fullfile(pwd,h.Fcn),'rt');
            if fidCost ~= -1
                singleLine = fgetl(fidCost);
                while ischar(singleLine)
                    firstchar = singleLine(1);
                    if firstchar == '%'
                        CommentExpr= singleLine;
                        break
                    end
                end
                CommentExpr= CommentExpr(2:end);
                f4 = msgbox({'KommentarExpr : ';CommentExpr});  % Bis hier stimmt alles.
                eval(CommentExpr); % Hier ist das Problem. Bis dahin stimmen alle Parameter
                fclose(fidCost);
            end
        catch exception
            msgbox({'Something went wrong while CostFunction: ';exception.message},'Error','error')
        end
 


externe Datei:
Code:

function [output] = outputFcn (x,y,z,handles);
%[output] = outputFcn(x,y,z,handles);
% unnötiger Code ...
end
 
Private Nachricht senden Benutzer-Profile anzeigen


elchico
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2020, 10:59     Titel:
  Antworten mit Zitat      
EDIT:
Ich habe gerade mal versucht, das mit dem extra Ordner sein zu lassen und einfach die m-Datei in den gleichen Ordner wie die Standalone Datei zu packen. Auch das funktioniert nicht.

Das neue Problem lautet also: Wie kann ich aus einer Standalone exe Datei eine m-Datei aufrufen, im Idealfall mit "eval"?

Danke und LG
Michi
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 25.08.2020, 13:32     Titel:
  Antworten mit Zitat      
Ich bitte um Prüfung der Lizenzvereinbarung, speziell

Zitat:
3. Deployment Rights for Generated Forms and Applications
3.1. Compiler Programs


und stehe bei Fragen gerne per PN zur Verfügung.

Andreas Goser, MathWorks
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.