Autor Thema: Anzahl Variablen in Klasse begrenzt??  (Gelesen 1807 mal)

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Anzahl Variablen in Klasse begrenzt??
« am: 20.02.10 - 12:46:58 »
Gibt es bei einer eigenen LS Klasse irgendeine Begrenzung, was die Anzahl der Variablen betrifft? Wenn ich in dem u.a. Code die Kommentierung herausnehme, dann kompiliert der Code ganz normal. Beim Ausführen allerdings erscheint die Fehlermeldung.

Die Variable wird nirgendwo im Code verwendet; sie ist lediglich deklariert.
Irgendwie seltsam ...
( Designer 8.5.1FP1  auf Windows 7 Ultimate )
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: Anzahl Variablen in Klasse begrenzt??
« Antwort #1 am: 20.02.10 - 13:21:28 »
Ganz seltsam. Ich habe mal eine neue Datenbank angelegt, eine LS Lib erzeugt und darin die Klasse Foo,

Code
%REM
	Class Foo
	Description: Comments for Class
%END REM
Class Foo
	'Private SomeText As String
	'Private IsMomGreat As Boolean
	'Private i As Integer
	'Private HF As Variant
	'Private strMore As String
	
	%REM
		Sub New
		Description: Comments for Sub
	%END REM
	Sub New ()
		
	End Sub
	
End Class

Das Problem trat auf, nachdem ich die 5. Variable eingefügt habe. Dann habe ich 2 Variablen weggenommen und es lief wieder.
Dummerweise tritt der Fehler aber auch auf, wenn ich alle Deklarationen auskommentiere.

Hatte schon die Cache.ndk im Verdacht, die wieder mal auf 30MB angewachsten war.  Cache gelöscht, Notes und designer beendet und neu gestartet.

Jetzt tritt der Fehler mit dem o.a Code in der Datenbank permanent auf.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
SOLVED: Anzahl Variablen in Klasse begrenzt??
« Antwort #2 am: 20.02.10 - 14:05:44 »
man muss, nachdem man die Klasse verändert hat uch die Funktion(en) die die Klasse aufruft erneut abspeichern ( neu kompilieren)
Bug oder Feature?? Oder war das schon immer so und ich habe das ob meines hohen Alters vergessen? Hmm ... wer bin ich, und was wollte ich noch gleich ?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Anzahl Variablen in Klasse begrenzt??
« Antwort #3 am: 20.02.10 - 23:02:23 »
Meines Erachtens war das schon immer so - auch wenn man sich manchmal wundert, dass es doch geklappt hat, Ulrich.

Das Übelste, was man in diesem Zusammenhang anstellen kann, ist die Veränderung der Speicherorte für Variablen und andere Bezeichner. Fügst Du in einer ScriptLibrary Variablen hinzu oder neue Routinen (letzteres kann allerdings auch gut gehen), dann müssen auch die aufrufenden Module neu kompiliert werden (ist ja auch klar: Nix stimmt mehr). Ändert man hingegen von 400 Zeilen in einer Function 300, so geht das (meistens) gut. Klar - die Einsprungadressen ändern sich nicht.

Nicht ohne Grund hat ja z.B. Teamstudio dem Configurator schon sehr früh das "Recompile all" spendiert (aus meiner Sicht funktioniert das noch heute stabiler als das Pendant in der DDE), erheblich später fand sich das dann auch im Domino Designer wieder.

Deine *Klasse* an sich war hier auf jeden Fall bestenfalls der Auslöser. Provozieren kannst Du das auch mit rein prozeduralen Routinen in fremden Libs.

Bernhard

Glombi

  • Gast
Re: Anzahl Variablen in Klasse begrenzt??
« Antwort #4 am: 22.02.10 - 09:10:54 »
Das war meiner Erinnerung nach auch schon immer so.

Siehe auch die Anmerkungen von Julian Robichaux unter Recompiling Agents When Script Libraries Change in
http://www.nsftools.com/tips/NotesTips.htm

Zum Thema Konstanten:
Ich persönlich verwende in Script Libraries nur dann Konstanten, wenn es "wirklich" Konstanten sind, wie bspw. den Umrechnungsfaktor DM in EUR. Alles andere definiere ich als Variable, die im Initialize gesetzt wird. Dadurch ist ein Recompile nicht erforderlich.

Andreas
« Letzte Änderung: 22.02.10 - 09:14:10 von Glombi »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz