INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Klassen in aktivem Projekt modifizieren/austauschen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

22.02.2012, 10:46
Beitrag #1

schnuufe Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2012

2011
2010
DE_EN



Sad Klassen in aktivem Projekt modifizieren/austauschen
Hallo alle zusammen, ich bin hier bei LVOOP auf etwas Ärgerliches Problem gestoßen und hoffe, dass mir jemand weiterhelfen kann.

Mein System: Windows XP SP3,
Labview: LabVIEW 2011

Ich arbeite derzeit mit ein paar Leuten an einem LVOOP Projekt.
Nun ist es so, dass wir eine Basisklasse haben von der viele andere Klassen abgeleitet werden wird. Die Abgeleiteten Klassen dienen ihrerseits auch als Parent Klassen. Insgesamt ist diese Vererbungshierchie aber meistens nie größer als 4-5 Stufen.

Nun ist es so dass wir auf 3 Rechnern das gleiche Projekt haben und jeder an einem Teil Arbeitet. Da leider noch nicht ganz klar definiert werden kann was alles in die jeweiligen Mutterklassen reinkommt, kommt es doch hin und wieder zu modifikationen die auf die anderen Rechner auch übertragen werden sollen.

Nehmen wir den Fall Basisklasse: A, davon abgeleitet: B und von B abgeleitet: C.

Jetzt wird an einem Rechner an C gearbeitet. Es fällt jedoch auf, dads B durchaus noch eine funktionalität benötigt bzw. eine funktionalität modifiziert werden soll.

Nun will ich die modifizierte Klasse B, auf die anderen beiden Rechner drüberkopieren. Und hier fangen dann oft die Probleme an, LabVIEW hängt sich dann teilweise mit 30% CPU Last komplett auf.
Ich habe schon einige Varianten durchprobiert:

-Projekt schließen Klasse B einfach drüberkopieren, dann wieder öffnen und wenn es nicht abstürzt einfach die Änderungen an Klasse C anpassen und es läuft (geht eben nicht wenn alles abstürzt)
-Klasse B vorher aus dem Projekt entfernen, dann Projekt schließen, Modifizierte Klasse B drüberkopieren und dann wieder neu in das Projekt reinladen
-Beide obere Varianten jeweils mit vorheriger löschung der Vererbungsbedingung.

In jedemfall ist es immer ein Glücksspiel ob das überschreiben glückt. Ich habe schon auf allen Möglichen Seiten geschaut, in der DEVzone gelesen und Foren durchforstet. Habe aber keine einfache Lösung gefunden um vererbende und abgeleitete Klassen in einem Projekt durch eine modifizierte Klasse von einem anderen PC zu ersetzen.

Ich hoffe mir kann jemand weiterhelfen, es ist zwischendurch ziemlich nervig und zeitraubend, wenn man alle 3 Computer mit den Projekten auf den selben Stand bringen will.

Grüße Schnuufe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2012, 11:04
Beitrag #2

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Klassen in aktivem Projekt modifizieren/austauschen
(22.02.2012 10:46 )schnuufe schrieb:  Hallo alle zusammen, ich bin hier bei LVOOP auf etwas Ärgerliches Problem gestoßen und hoffe, dass mir jemand weiterhelfen kann.

Mein System: Windows XP SP3,
Labview: LabVIEW 2011

Ich arbeite derzeit mit ein paar Leuten an einem LVOOP Projekt.
Nun ist es so, dass wir eine Basisklasse haben von der viele andere Klassen abgeleitet werden wird. Die Abgeleiteten Klassen dienen ihrerseits auch als Parent Klassen. Insgesamt ist diese Vererbungshierchie aber meistens nie größer als 4-5 Stufen.

Nun ist es so dass wir auf 3 Rechnern das gleiche Projekt haben und jeder an einem Teil Arbeitet. Da leider noch nicht ganz klar definiert werden kann was alles in die jeweiligen Mutterklassen reinkommt, kommt es doch hin und wieder zu modifikationen die auf die anderen Rechner auch übertragen werden sollen.

Nehmen wir den Fall Basisklasse: A, davon abgeleitet: B und von B abgeleitet: C.

Jetzt wird an einem Rechner an C gearbeitet. Es fällt jedoch auf, dads B durchaus noch eine funktionalität benötigt bzw. eine funktionalität modifiziert werden soll.

Nun will ich die modifizierte Klasse B, auf die anderen beiden Rechner drüberkopieren. Und hier fangen dann oft die Probleme an, LabVIEW hängt sich dann teilweise mit 30% CPU Last komplett auf.
Ich habe schon einige Varianten durchprobiert:

-Projekt schließen Klasse B einfach drüberkopieren, dann wieder öffnen und wenn es nicht abstürzt einfach die Änderungen an Klasse C anpassen und es läuft (geht eben nicht wenn alles abstürzt)
-Klasse B vorher aus dem Projekt entfernen, dann Projekt schließen, Modifizierte Klasse B drüberkopieren und dann wieder neu in das Projekt reinladen
-Beide obere Varianten jeweils mit vorheriger löschung der Vererbungsbedingung.

In jedemfall ist es immer ein Glücksspiel ob das überschreiben glückt. Ich habe schon auf allen Möglichen Seiten geschaut, in der DEVzone gelesen und Foren durchforstet. Habe aber keine einfache Lösung gefunden um vererbende und abgeleitete Klassen in einem Projekt durch eine modifizierte Klasse von einem anderen PC zu ersetzen.

Ich hoffe mir kann jemand weiterhelfen, es ist zwischendurch ziemlich nervig und zeitraubend, wenn man alle 3 Computer mit den Projekten auf den selben Stand bringen will.

Grüße Schnuufe

Herzlich Willkommen im Forum erstmalSmile

Unabhängig von LVOOP würde ich euch ein Repository für den Code empfehlen, wir verwenden bei uns:SubVersion/. Beim Updaten von Projekten (unter anderem auch solche mit LVOOP) haben wir bisher damit noch keine Probleme gehabt.

Mittels Plug-In ist es bei Tortoise SVN (die Client-Applikation) auch möglich die Veränderungen der VI's zwischen den Versionen anzuzeigen.

Hoffe das hilft euch etwas weiter.

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2012, 14:40
Beitrag #3

schnuufe Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2012

2011
2010
DE_EN



RE: Klassen in aktivem Projekt modifizieren/austauschen
(22.02.2012 11:04 )M Nussbaumer schrieb:  Herzlich Willkommen im Forum erstmalSmile

Unabhängig von LVOOP würde ich euch ein Repository für den Code empfehlen, wir verwenden bei uns:SubVersion/. Beim Updaten von Projekten (unter anderem auch solche mit LVOOP) haben wir bisher damit noch keine Probleme gehabt.

Mittels Plug-In ist es bei Tortoise SVN (die Client-Applikation) auch möglich die Veränderungen der VI's zwischen den Versionen anzuzeigen.

Hoffe das hilft euch etwas weiter.

Gruss Marc



Hi Marc vielen Dank für die Antwort ich werd das auf jedenfall für zukünftige Projekte das ganze berücksichtigen.
Kennst du sonst (oder irgend jemand) sonst eine Möglichkeit modifizierte Klassen einfach vom anderen Rechner drüberzukopieren ohne sich dabei alles zu zerschießen? Es muss doch in LabVIEW unabhängig von drittanbieterlösungen eine möglichkeit geben mit mehreren Leuten an einem OOP Projekt zu arbeiten ohne das man jedesmal einen Kopfstand machen muss nur um eine modifzierte klasse auszutauschen.

Gruße Schnuufe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2012, 15:31
Beitrag #4

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
RE: Klassen in aktivem Projekt modifizieren/austauschen
(22.02.2012 10:46 )schnuufe schrieb:  ...Habe aber keine einfache Lösung gefunden um vererbende und abgeleitete Klassen in einem Projekt ...

Im Projektexplorer Projekt spechern unter wählen. Dort kann man auswählen was man speichern möchte (ohne Gewähr. Ich habe noch nie Teilprojekte überschrieben, sondern nur das Gesamtprojekt).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2012, 11:43
Beitrag #5

schnuufe Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Feb 2012

2011
2010
DE_EN



RE: Klassen in aktivem Projekt modifizieren/austauschen
(22.02.2012 15:31 )abrissbirne schrieb:  
(22.02.2012 10:46 )schnuufe schrieb:  ...Habe aber keine einfache Lösung gefunden um vererbende und abgeleitete Klassen in einem Projekt ...

Im Projektexplorer Projekt spechern unter wählen. Dort kann man auswählen was man speichern möchte (ohne Gewähr. Ich habe noch nie Teilprojekte überschrieben, sondern nur das Gesamtprojekt).

Hallo danke für den Vorschlag,

ich hab das mal getestet und leider hängt sich auch bei der Methode LabVIEW dann nach dem Start komplett auf, wenn die ausgetauschte Klasse in der Vererbungshierachie zu weit oben ist. Man hat dann leider nicht mal mehr ne chance die dadurch entsandenen Fehler zu reparieren.

LabVIEW startet und sobald der Projektexplorer offen ist, sieht man die Sanduhr und alles steht. Da hilft dann nur noch task beenden.
Falls noch jemand Ideen hat würde ich mich sehr freuen =).

Grüße Schnuufe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2012, 13:45
Beitrag #6

Kiesch Offline
LVF-Stammgast
***


Beiträge: 394
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04103
Deutschland
RE: Klassen in aktivem Projekt modifizieren/austauschen
Hatte mal letztens in einem Webcast gesehen, dass LV eine Art Klassenversionierung anlegt und speichert (daher: Die History beim Aufbau der Klassenattribute wird gespeichert) Ändert man da was wird das dann mehr oder weniger mit einer Versionsnummer versehen. Das soll dazu dienen, dass man später, wenn man eine ältere Version der Klasse aus einem Str mit unflatten wieder einliest diese zumindest teilweise richtig eingelesen wird (die Attribute die schon vorher dawaren werden richtig eingelesen, entfallene ignoriert). Eventuell liegt da das Problem vergraben?
*wird nämlich wohl im Labview Install Verzeichnis oder in Eigene Dateien irgendwo gespeichert und nicht direkt in der Klasse*

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Klassen mit komprimierten Bibliotheken 83DM 1 5.310 09.08.2016 13:45
Letzter Beitrag: BNT
  Klassen verbinden oryx 4 8.986 07.05.2015 15:33
Letzter Beitrag: oryx
  Zugriff auf Textlabels in Klassen cpinkle 12 17.166 09.09.2014 11:52
Letzter Beitrag: Kiesch
  Dateiorganisation mit Klassen - Verzeichnis umbennen? Kiesch 0 7.028 05.02.2014 13:19
Letzter Beitrag: Kiesch
  Neuling, was bringen mir Klassen, LVOOP dali4u 6 16.477 24.02.2012 13:40
Letzter Beitrag: Kiesch
  [gelöst] Dynamische Vererbung über die Grenzen von Klassen hinweg davidwm 5 12.096 04.05.2011 14:05
Letzter Beitrag: davidwm

Gehe zu: