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

[Jammer] GUIs "aufwärtskompatibel" programmieren?

 

Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 14.11.2007, 23:24     Titel: [Jammer] GUIs "aufwärtskompatibel" programmieren?
  Antworten mit Zitat      
Hallo,

ich denke schon seit längerem darüber nach, ob es eine Strategie gibt, GUIs derart zu programmieren, dass sie möglichst aufwärtskompatibel sind, d.h. auch mit der überübernächsten Matlabversion noch funktionieren werden. Ich bin es leid, bei jeder zweiten Matlab-release bei älteren Programmen festzustellen, dass sich irgendwelche GUI Befehle geändert haben und ein GUI an manchen STellen nicht mehr funktional ist.

So habe ihc momentan eine Software die gar nicht mehr funktional ist, eine Software bei der sich die Farben aller Knöpfe in 2007b geändert hat (keine Ahnung, woher das kommt), etc...

Wie geht ihr damit um? Einfach immer die gleiche Version von Matlab verwenden, oder sollte man die GUIS so einfach wie möglich halten, damit nix schiefgehen kann?

Prinzipiell gibt es das Problem ja auch matlab generell - so hat sich bei 2006b plötzlich das Ausgabeformat von sprintf geändert...

Wünschenswerte wäre hier ja eigentlich, dass mathworks selbst Abwärts- und Aufwärtskompatibilität gewährleistet, aber so ist es ja leider nicht. Crying or Very sad Crying or Very sad
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 15.11.2007, 07:58     Titel:
  Antworten mit Zitat      
Eigentlich ist die Kompatibilität ist da, wenn man sich an die Regeln hält und auch GUIDE-Konform programmiert. Meine GUI's laufen laufen zumindest Versionsunabhängig. Schicke mir bitte Deine GUI per PN - ich würde gern Blick darauf werfen.

Was meinst mit Änderung in der Ausgabeformat von SPRINTF? Habe ich etwas verpasst? Kannst Du etwas genau beschrieben?!





MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Themenstarter

Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 15.11.2007, 22:11     Titel:
  Antworten mit Zitat      
Hallo outsider,

vielen Dank für das Hilfsangebot.

Ich würde Dir die GUIs zwar gerne schicken, allerdings sind sie firmenintern und somit vertraulich - hab bitte Verständnis dafür, dass das nicht geht.
Allerdings ist ein guter Teil der GUIs nicht mit GUIDE sondern von Hand erstellt, aber das ist ja legitimes Vorgehen in Matlab, und teilweise auch sehr sinnvoll.

Was sprintf angeht: ich habe mich getäuscht, es handelt sich um sscanf (kleiner Vorzeichenfehler) und eine Version vorher nämlich hier:


http://www.mathworks.com/support/so.....VLU.html?solution=1-18VLU

Ich hatte ein recht kompliziertes Einleseskript, dass unter anderem einen Vektor aus kleinen Stücken zusammengebaut hat.

Plötzlich kam dann eine Zeile anstelle einer Spalte zurück - und die kann man schlecht in einen bestehenden Spaltenvektor einfügen.

Ich habe in das Skript tatsächlich eine Fallunterscheidung für die Matlabversion einbauen müssen, da es viele Anwender gibt und nicht zu gewährleisten ist dass jeder die gleiche Matlabfunktionen benutzt.
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 15.11.2007, 23:10     Titel:
  Antworten mit Zitat      
Zitat:
Allerdings ist ein guter Teil der GUIs nicht mit GUIDE sondern von Hand erstellt, aber das ist ja legitimes Vorgehen in Matlab, und teilweise auch sehr sinnvoll.

Gerade die GUI's die ohne(!) GUIDE programmiert werden sind meisstens weit mehr kompatibler und robuster, als die mit GUIDE kreierten. Ich programmiere lieber auch ohne GUIDE und meine Funktionen funzen immer noch - obwohl manche von denen noch unter R12 entstanden sind.

Zitat:
http://www.mathworks.com/support/so.....VLU.html?solution=1-18VLU

Das wurde doch schon in R14SP1 gefixt! Das ist Jahre her! Smile Ich dachte Du meinst etwas aus den aktuellen Versionen



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Themenstarter

Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 16.11.2007, 08:11     Titel:
  Antworten mit Zitat      
Jahre her.... der Report stammt von Anfang 2007a .

Solange man Programme schreibt, die nur von zwei, drei Leuten ausser einem selbst verwendet werden, ist es ja ok. Aber Bei mir ist der Anwenderkreis grösser, und nicht immer klar wer welche Matlab Installation verwendet. Zum Teil ist so ein Skript ja auch bereits ein oder zwei oder drei Jahre alt und wird immer noch verwendet. - und ich will ja nicht für jedes Skript ein anderes Matlab öffnen.

Als ich Matlab nur für meine Daten an der Uni verwendet habe, ist mir das mit der fehlenden Auf/Abwärtskompatibilität auch nie so richtig aufgefallen.

Aber mittlerweile (ex-Uni) finde ich es richtig nervig.
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 16.11.2007, 13:20     Titel:
  Antworten mit Zitat      
Hallo zusammen,
ich hatte diese Woche auch ein für mich merkwürdiges Verhalten feststellen müssen...
Ich hab auch GUIs ohne GUIDE geschrieben und diese sowohl auf ner Linux- als auch auf ner Windows-Kiste laufen lassen. Hat alles wunderbar geklappt als auf beiden R16 lief.
Nachdem jedoch auf der Windows-Maschine R18 installiert habe, lief das Programm richtig - auf der Linux-Kiste jedoch nur halb (es wurden einige Axes nicht gefüllt sondern die Plots in einem neuen figure geöffnet). Unter R18 auf Linux gibt es dieses Verhalten nicht mehr.
Es handelt sich bei beiden Versuchen um ein und dasselbe m.-file welches auf nem Netzlaufwerk liegt.

Ein weiter Punkt der mir Unbehagen bereitet ist folgender:
Wenn ich das Programm als .exe kompiliere und auf anderen Rechnern ausführe muss ich immer den zu der Matlab-Version gehörigen MCRInstaller.exe mitliefern - bzw. wenn der schonmal installiert wurde, die neue Version installieren.
Wisst ihr, ob es da eine Möglichkeit gibt, dieses zu umgehen?

Grüße
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Themenstarter

Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 16.11.2007, 17:20     Titel:
  Antworten mit Zitat      
steve hat Folgendes geschrieben:

Wisst ihr, ob es da eine Möglichkeit gibt, dieses zu umgehen?


meines Wissens nicht. Man kann aber ein *.bat dazulegen, dass in PATH dann zumindest nur den Pfad auf die benötigte MCR Version legt.
(Die kann dann ja auch auf einem Netzlaufwerk liegen...)

Falls mehrere MCRs installiert sind (da man verschiedene exe hat), kommt es meist zu irgendwelchen Konflikten...
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 16.11.2007, 20:59     Titel:
  Antworten mit Zitat      
@Steve
Zitat:
Wisst ihr, ob es da eine Möglichkeit gibt, dieses zu umgehen?

das geht nicht. Die MCR's sind nicht untereinander kompatible. Leider...

Zitat:
Falls mehrere MCRs installiert sind (da man verschiedene exe hat), kommt es meist zu irgendwelchen Konflikten...

Kommt es nicht! Die passende MCR wird automatisch gewählt, ohne das man dafür irgendwas extra machen muss. Man muss lediglich darauf achten, dass die die Pfade zu den jeweiligen MCR in der richtigen Ordnung unter der Windows Umgebungsvariable PATH vorliegen. Und zwar angefangen mit der neuesten Version und dann absteigend bis zu der ältesten.

@Michaela
Zitat:
Jahre her.... der Report stammt von Anfang 2007a

??? Der Report wurde in 2007 zuletzt upgedated! Aber gefixt wurde es schon in R14SP1... Jahre her... Wink



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
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.