Schrift
[thread]4507[/thread]

GED: Betatest der neuen Version: Test der Historienverwaltung



<< >> 6 Einträge, 1 Seite
Crian
 2004-02-23 11:33
#39593 #39593
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
und hoch

Wäre schön, wenn jemand mittesten könnte, ich komm im Moment leider kaum zu was.

Außerdem ist die Historienklasse ja dann allgemein verwendbar :)
Ich hab mir überlegt, dass ich es so machen werde, dass clone und clear nur dann zur Anwendung kommen, wenn das hinterlegte Objekt dazu in der Lage ist. Sonst wird halt einfach kopiert und nicht gelöscht. Dann kann man auch "platte Daten" einstellen (etwa Texte).\n\n

<!--EDIT|Crian|1077530742-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-02-23 12:12
#39594 #39594
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Crian,21.Feb..2004, 22:23][...]
Ich unterscheide folgende Zustände:
NORMAL
NORMAL_ENDE
NACH_RUECK
NACH_RUECK_ANFANG
NACH_WIEDER
NACH_WIEDER_ENDE

Folgende "Anforderungen" bzw. von außen zugängliche
Methoden gibt es (neben new, clone und max):
objekt_eintragen()
rueckgaengig()
wiederholung()
[/quote]Hmmm. Vielleicht solltest du strikt englische Funktions- und Konstantennamen verwenden? Irgendwann wird dein Programm beruehmt werden, aber die Welt wird den Sourcecode nicht lesen koennen...

Quote
Deshalb meine Bitte an Euch: Wenn Ihr mir bei der Fehlersuche
helfen wollt, holt Euch die aktuelle Beta-Version 0.0.31.beta
von meiner GED-Seite, sie ist dort nicht offiziell aufgeführt,
aber unter diesem Link könnt an sie herankommen.

Leider ist dieser Link tot.
Crian
 2004-02-23 12:26
#39595 #39595
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
[quote=ptk,23.02.2004, 11:12][quote=Crian,21.Feb..2004, 22:23][...]
Ich unterscheide folgende Zustände:
   NORMAL
   NORMAL_ENDE
   NACH_RUECK
   NACH_RUECK_ANFANG
   NACH_WIEDER
   NACH_WIEDER_ENDE

Folgende "Anforderungen" bzw. von außen zugängliche
Methoden gibt es (neben new, clone und max):
   objekt_eintragen()
   rueckgaengig()
   wiederholung()
[/quote]Hmmm. Vielleicht solltest du strikt englische Funktions- und Konstantennamen verwenden? Irgendwann wird dein Programm beruehmt werden, aber die Welt wird den Sourcecode nicht lesen koennen...

Quote
Deshalb meine Bitte an Euch: Wenn Ihr mir bei der Fehlersuche
helfen wollt, holt Euch die aktuelle Beta-Version 0.0.31.beta
von meiner GED-Seite, sie ist dort nicht offiziell aufgeführt,
aber unter diesem Link könnt an sie herankommen.

Leider ist dieser Link tot.[/quote]
Zum Englisch: stimmt, aber ich kommentiere so viel, und das würde mich entsetzlich aufhalten. Aber im Prinzip hast Du Recht.

Ich hab den Link gerade nochmal angeklickt, da kommt bei mir der Download-Dialog. Ist das bei Dir immer noch so? Oder war die Seite vielleicht nur kurzfristig nicht erreichbar?

Edit: Jetzt weiß ich was Du meinst: Du meinst den Link zur GED-Seite. Ich hab da als Endung pl reingeschrieben statt html, weil das Programm so heißt... hab ich jetzt oben korrigiert, danke für den Hinweis.\n\n

<!--EDIT|Crian|1077532230-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Robby
 2004-02-23 11:42
#39596 #39596
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
Ist es richtig, dass die Historie nur 3 "Ebenen" zurück geht?
Ansonsten tut bei mir alles, wobei man sagen muss, dass ich mich mit diesem Zeugs nicht auskenne ;)
Kaum macht man es richtig - schon funktioniert es!
Crian
 2004-02-23 12:24
#39597 #39597
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
[quote=Robby,23.02.2004, 10:42]Ist es richtig, dass die Historie nur 3 "Ebenen" zurück geht?[/quote]

Danke Robby :)

Ich weiß, ich hab da oben viel Text geschrieben, aber u.a. auch:

[quote=Crian,21.02.2004, 22:23]Zum Testen gibt es im Moment nur drei Speicherplätze in der
Historie, das werde ich natürlich später auch hochsetzen.[/quote]

Also: ja :D


[quote=Robby,23.02.2004, 10:42]Ansonsten tut bei mir alles, wobei man sagen muss, dass ich mich mit diesem Zeugs nicht auskenne ;)[/quote]

Gut :) Ich meine ich hätte einmal erlebt, wie er quasi einen Doppelschritt zurück gemacht hatte, aber ich habe es bis jetzt noch nicht reproduzieren können.

Viel auskennen muss man sich eigentlich nicht, es soll nur so sein, dass man seine Änderungen bequem Rückgängig und wiederholen kann.

Später wird die Anzahl der Speicherplätze natürlich erhöht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Crian
 2004-02-21 23:23
#39598 #39598
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ich habe meinem Grapheneditor um eine Historienfunktion
erweitert. Diese Funktionalität ist in einer extra
Klasse (Historie.pm, Graph::GED::Historie) enthalten,
die Klasse kann alle möglichen von Graph::GED::Basis
abgeleiteten Objekte speichern und verwalten.


Somit ist sie später universell einsetzbar, wenn alle
Fehler behoben sind. Die Ableitung von Graph::GED::Basis
ist deshalb nötig, weil die verwalteten Objekte eine clone-
und eine clear-Methode haben müssen, beides wird u.a. von
Graph::GED::Basis zur Verfügung gestellt.

Diese beiden Methoden kümmern sich um das saubere ko-
pieren bzw. Löschen der verwalteten Objekte. Dies wird
dann wichtig, wenn die Objekte nicht nur "flache Daten"
enthalten, sondern anonyme Arrays oder Hashes.


(Genaugenommen prüfe ich auch nicht auf die Ableitung von
Graph::GED::Basis, sondern nur, ob die übergebenen
Objekte die Methoden clone und clear beherrschen (mit can).)


Die Historie ist eine State-Machine (wem das nichts sagt:
es gibt verschiedene Zustände und definierte Übergänge
von Zustand zu Zustand und die Maschine "weiß", was sie
in welchem Zustand bei welcher Anforderung machen soll).

Ich unterscheide folgende Zustände:
   NORMAL
   NORMAL_ENDE
   NACH_RUECK
   NACH_RUECK_ANFANG
   NACH_WIEDER
   NACH_WIEDER_ENDE

Folgende "Anforderungen" bzw. von außen zugängliche
Methoden gibt es (neben new, clone und max):
   objekt_eintragen()
   rueckgaengig()
   wiederholung()
   
Zum Testen gibt es im Moment nur drei Speicherplätze in der
Historie, das werde ich natürlich später auch hochsetzen.

Die Kommentarbeschreibung der Aktionen in den verschiedenen
Stati stimmt noch nicht, das werde ich nachbessern, wenn alle
Fehler behoben sind.


Das Historienobjekt in ged.pl selbst ist in %Konfig
unter dem Schlüssel historie enthalten.
Es wird am Anfang mit new Graph::GED::Historie angelegt.


Das meiste funktioniert schon, aber mir ist noch ein Fehler
aufgefallen, den ich aber nicht genau lokalisieren und auch
nicht wiederholen konnte.

Deshalb meine Bitte an Euch: Wenn Ihr mir bei der Fehlersuche
helfen wollt, holt Euch die aktuelle Beta-Version 0.0.31.beta
von meiner GED-Seite, sie ist dort nicht offiziell aufgeführt,
aber unter diesem Link könnt an sie herankommen.


In der Betaversion ist in Graph/GED/Historie.pm der Debug-Level
auf 2, es gibt eine Extraausgabe in
   historie_schalter_aktualisieren()
in ged.pl und die Fehlerausgaben in Tk-Fenster sind momentan
ausgeschaltet. Das wird später geändert.

Wenn Ihr testet, so ruft ged.pl bitte so auf:
    perl ged.pl > error.log

Wenn Ihr reproduzierbare Fehler findet, sagt mir bitte was ihr
gemacht habt und schickt das Fehlerprotokoll mit.

Oder sagt mir genau, bei dem Übergang von welchem Zustand
in welchen anderen Zustand was schiefgeht, aber das geht von außen
eingestiegen wohl nicht so einfach.


Vielen Dank im Voraus an alle Tester :-)\n\n

<!--EDIT|Crian|1077532166-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 6 Einträge, 1 Seite



View all threads created 2004-02-23 11:33.