22.02.2012, 10:46
Beitrag #1
|
schnuufe
LVF-Neueinsteiger
Beiträge: 3
Registriert seit: Feb 2012
2011
2010
DE_EN
|
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
|
|
|
22.02.2012, 11:04
Beitrag #2
|
M Nussbaumer
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 erstmal
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
|
|
|
22.02.2012, 14:40
Beitrag #3
|
schnuufe
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 erstmal
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
|
|
|
22.02.2012, 15:31
Beitrag #4
|
|
|
24.02.2012, 11:43
Beitrag #5
|
schnuufe
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
|
|
|
| |