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

Callback identifitieren

 

y_fotsing
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 09:12     Titel: Callback identifitieren
  Antworten mit Zitat      
Hallo Zusammen,
In meinem M-file gibt es viele Callback, die ich gar nicht verwende wird, und die möchte ich gern identifitieren und loeschen.
Mein M-file enthält über 100 Callback, und wenn ich das mit dem Objekt Browser vergleichen will, würde es mir Tage kosten.
Weiß Jemand wie ich schnell die unnötigen Callbacks herausfinde.
Danke...
Private Nachricht senden Benutzer-Profile anzeigen


Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 09:18     Titel:
  Antworten mit Zitat      
Servus y-fotsing

Eine Möglichkeit wäre "Save and Check Code with M-Lint" zu verwenden.
Dieses Tool findest Du im Matlab- editor unter "Tools".
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
y_fotsing
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 09:57     Titel:
  Antworten mit Zitat      
Ich war gerade auf Tools dann M-Lint und dann Show M-lint Report.
Ich bekomme 'no message' als Antwort.
Das ist aber komisch denn, ich habe viel unverwendeten Callback in meinem M-file, oder habe ich falsch gemacht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 10:10     Titel:
  Antworten mit Zitat      
Hm

Das kann ich mir auch nicht erklären.

Möglicherweise fährst Du eine andere Matlabversion als ich; bei mir gibts unter Tools 'Check Code with M-Lint'. Es öffnet sich eine seperates Fenster in dem einige Vorschläge bzgl. unverwenderter Variablen und Funktion stehen.

Bei Deinem Editor gehts über 'Tools' -> 'M-Lint' -> 'Show M-Lint Report'?

Gibts da keine Option 'Create M-Lint Report', 'Run M-Lint' oder ähnliches?
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
y_fotsing
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 10:33     Titel:
  Antworten mit Zitat      
Ich benutze eine Studentenversion von Matlab 7.5.0(R2007b).

Unter Tools habe ich:

-M Lint: + Matlab compiler messages default
+show M-Lint Report

-Show Dependency Report
-Open profiler
-compare against: + ...

Ich habe mal über 'Show Dependency Report' probiert, und es zeigt mir alles function. Die verwendeten, und die unverwendeten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 10:50     Titel:
  Antworten mit Zitat      
Wie siehts mit folgendem aus?
Zitat:
From the Current Directory browser, click the Actions button , and then select Reports > M-Lint Code Check Report.
(Aus der MatlabDoku)
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
y_fotsing
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 11:08     Titel:
  Antworten mit Zitat      
Bei mir habe ich unter current directory diese Möglichkeit nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 11:25     Titel:
  Antworten mit Zitat      
Sorry, ich weiß jetzt auch nicht weiter.

Möglicherweise gibts m-lint nicht bei Deiner Version.
Tippe mal 'help mlint' ins CommandWindow. Wenn m-lint verfügbar ist, dann sollte da der Hilfetext erscheinen.
_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
y_fotsing
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 11:31     Titel:
  Antworten mit Zitat      
Ich habe es sehen und ausgeführt.
Ich erhalte aber 'no message' als Antwort, was natürlich nicht richtig ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
y_fotsing
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2009, 13:03     Titel:
  Antworten mit Zitat      
Vielleicht soll ich noch mal das Problem erklären. Denn irgendwie sollte es eine Lösung geben.
Wenn ich in meinem GUI Push Button oder oder Slider ... einfüge, dann wird es beim speichern in dem M-file ein Callback dafür erzeugt.
Wenn ich aber später in meinem GUI dieses Button loeschen; dann wird dies nicht in dem M-file gelöscht.
Und in meinem M-file gibt es viele solche Callback, die unnötigt sind.

Die Frage ist, wie kann ich es identifitieren? Ich kann das natürlich zu Fuß machen, aber mein M-file enthält über 100 function.
Irgendwie musste es automatisch gehen oder über einen Vergleich mit dem Object auf dem GUI?
Näturlich, die Frage ist wie?
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloyd Blankfein
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2012, 18:03     Titel:
  Antworten mit Zitat      
Hallo,

ich habe ein ähnliches Problem. Ich habe diverse GUIs / m-files mit hunderten Callbacks. Viele dieser Callbacks werden nicht mehr genutzt und sollen zwecks besserer Übersicht gelöscht werden.
mlint hilft hier leider nicht weiter, da z. B. auch ein Callback welcher via Pusfbutton getriggert wird als "überflüssig" eingestuft wird.

Ich bräuchte also eine Funktion welche mir aus der mit mlint erzeugten Liste, die Funktionen streicht, welche über die GUI betriggert werden.

Hat jemand eine Idee, stellt Matlab einen Algorithmus bereit?

Vielen Dank, für eure Hilfe!

Gruß,
Lloyd
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloyd Blankfein
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2012, 11:03     Titel:
  Antworten mit Zitat      
Hat jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 31.01.2012, 16:12     Titel:
  Antworten mit Zitat      
Hallo

also ich kenne weder eine Funktion noch triviale Lösung.

Die Idee wäre über OPENFIG/FINDOBJ Callbacks auszulesen und mit MLINT dann abzugleichen
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloyd Blankfein
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2012, 17:13     Titel:
  Antworten mit Zitat      
Hallo denny,

Hmm, auf die Schnelle ist das wohl nicht realisierbar. Trotzdem vielen Dank!

Gruß,
Lloyd
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 01.02.2012, 14:16     Titel:
  Antworten mit Zitat      
Hallo Lloyd!

Auf der Schnelle habe ich kleines Script geschrieben(siehe Anhang).
Die Funktion SHOW_UNUSED_FCN zeigt aber nur Funktionen an, welche in GUI nicht gefunden waren.

Wenn du Zeile 93 auskommentierst, dann bekommst du eine MLINT Liste mit Funktione, die in GUI nicht vorkamen

show_unused_fcn.m
 Beschreibung:

Download
 Dateiname:  show_unused_fcn.m
 Dateigröße:  4.8 KB
 Heruntergeladen:  358 mal


Zuletzt bearbeitet von denny am 06.02.2012, 12:07, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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 - 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.