Autor Thema: item.LastModified  (Gelesen 3240 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
item.LastModified
« am: 30.09.04 - 20:38:58 »
Langsam bin ich mit meinem Latein am Ende.

Ich habe eine Klasse. Im Postopen lese ich u.a. item.LastModified eines RTI aus.

Im Postsave vergleiche ich.
Im Postsave bekomme ich jedoch als Rückgabewert zu item.LastModified den selben Wert wie im Postopen, obwohl ein Text dem RTI hinzugefügt wurde.

Nach erneutem Speichern (also zum 2. mal) ändert sich dann der Wert.

Grundsatzfragen, damit ich das Problem eingrenzen kann:
1) Wann genau ändert sich item.LastModified?
2) Gibt es da irgendwelche Einschränkungen / known bugs, etc. zu item.LastModified?

Danke,
Matthias

P.S. am meisten ärgert mich, dass es beim testen in einer leeren DB wohl funktioniert. Habe auch schon alle relevanten Event-Codes auskommentiert.

*Edit*
Zum vergleichen nehme ich eine String-Variable, die Cstr(item.LastModified), aber daran sollte es wohl nicht liegen?
« Letzte Änderung: 30.09.04 - 20:40:51 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: item.LastModified
« Antwort #1 am: 30.09.04 - 21:19:48 »
Mystisch:

Ich habe folgenden Code in PostOpen und -Save, und es geht sich sauber:

Code
	Dim doc As NotesDocument
	Dim item As NotesItem
	
	
	Set doc = Source.Document
	Set item = doc.GetFirstItem ("RTF")
	If Not (item Is Nothing) Then
		Messagebox Cstr (item.LastModified)
	End If

Kannst Du noch genauere Rahmenbedingungen angeben ?

Ciao,
Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #2 am: 30.09.04 - 21:20:29 »
Zwischenbericht:

Bin evtl. auf einen Bug gestossen:

Form-Alias war bisher = Form-Name.
Das Verhalten hat sich etwas geändert, als ich den Alias gelöscht habe  :P

Bin weiter am evaluieren. Ist allerdings sehr anstrengend. Ich komme mir vor als wie wenn ich einen verlorenen Haustürschlüssel in der Sahara suche.....
« Letzte Änderung: 30.09.04 - 21:22:53 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #3 am: 30.09.04 - 21:22:10 »
Danke Bernhard.
Kannst Du noch genauere Rahmenbedingungen angeben ?

Siehe oben erste Erkenntnis. Ich teste erstmal noch ausgiebig und gebe dann Beschaid.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: item.LastModified
« Antwort #4 am: 30.09.04 - 21:28:26 »
Form-Alias war bisher = Form-Name.
Das Verhalten hat sich etwas geändert, als ich den Alias gelöscht habe  :P
Bin weiter am evaluieren. Ist allerdings sehr anstrengend. Ich komme mir vor als wie wenn ich einen verlorenen Haustürschlüssel in der Sahara suche.....

Aliases - falsch eingesetzt wie bei Subforms- oder Änderungen bestehender können durchaus Ärger machen. Die gehören immer vorab gründlich überlegt.

Schlüsselbund in der Sahara: Das geht doch noch  ;D Da kann man einen Metalldetektor hernehmen. Such mal einen Stein (in 80% der Sahara) oder ein Sandkorn (in den restlichen 20%) - DAS wird schwer !

Faszinierend, dass "Sahara" "die Blühende" heisst, aber wenn es dort doch mal regnet, wird es noch faszinierender. Das erklärt auch locker, warum in der Sahara mehr Leute ersaufen als verdursten ...

Aber zurück zum Thema: Deine Resultate interessieren mich natürlich auch brennend.

Good luck !

Bernhard
« Letzte Änderung: 30.09.04 - 21:36:47 von koehlerbv »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #5 am: 30.09.04 - 21:34:12 »
Danke für die Aufmunterung.

Steine suche ich zum Glück noch nicht  :)

Den Alias habe ich jetzt erst zum testen rausgenommen und festgestellt, dass sich da dann was (wohl positiv) geändert hat.
Seltsam, seltsam, wird Zeit dass es in der "Sahara" regnet  ;)

Melde mich wieder.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #6 am: 30.09.04 - 23:22:16 »
Kommando erstmal zurück:

Es sind dermaßen viele Abhängigkeiten in dem Code, so dass eine Filterung verdammmt schwierig wird.

Ich gehe da jetzt systematisch vor. Sollte sich tatsächlich ein Bug herauskristallisieren, melde ich es hier (und bei IBM) natürlich.
Form-Alias war schonmal ein guter Treffer, aber es gibt noch viele weitere Abhängigkeiten.

Bin weiter beim Evaluieren und Schlüssel-Suche in Sahara  :-\
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #7 am: 01.10.04 - 12:21:50 »
Mystisch:

Ich habe folgenden Code in PostOpen und -Save, und es geht sich sauber:

Code
	Dim doc As NotesDocument
	Dim item As NotesItem
	
	
	Set doc = Source.Document
	Set item = doc.GetFirstItem ("RTF")
	If Not (item Is Nothing) Then
		Messagebox Cstr (item.LastModified)
	End If

Kannst Du noch genauere Rahmenbedingungen angeben ?

Ciao,
Bernhard

Ich habe exakt Deinen Code getestet (leere DB, 1 Maske, 2 Felder, Feld zum Testen ist ein Richtextfeld).

A) Auf Domino Server 6.5.1, Client 6.5.2
B) Lokaler Client 6.5.2

Bei A) Liefert Postopen z.B. "01.10.2004 12:13:40", Postsave "01.10.2004 12:13:05"
Bei (B) klappt es so wie es sein soll.

Lässt sich das Verhalten auf dem Server irgendwie erklären?

Seltsam.......  :-\

In der KB hab ich nur das hier gefunden:

The NotesItem LastModified Property Reflects the Date the Document (not the Field) Was Last Modified

The LastModified Property for Rich Text Fields Is Updated When Other Fields Are Updated
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: item.LastModified
« Antwort #8 am: 01.10.04 - 12:50:03 »
Ich habe eben spassenshalber das auf einem 5.0.8er Server ausprobiert.
PostSave: 0:00:00
Im PostOpen wurde dann der korrekte Wert angezeigt.

Die Item property scheint mir ein wenig suspekt zu sein ...

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: item.LastModified
« Antwort #9 am: 01.10.04 - 13:05:42 »
Danke fürs testen.

Ich werde es jetzt anders lösen, da ich "nur" wissen muss, ob sich was in einem RT-Item geändert hat.

Die item.ValueLength property funktioniert nämlich zuverlässig.
Diese in Verbindung mit item.Text zum Vergleich vorher/nachher kann imho schon ziemlich zuverlässig sagen ob es eine Änderung gab, auch wenn das nicht 100% sauber ist, gerade wenn der Text im Dokument sehr lange ist.....
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline ..Andreas..

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
  • Brevity is the soul of wit.
Re: item.LastModified
« Antwort #10 am: 01.10.04 - 15:04:50 »
Probiers doch mal mit dem onChange-Event.
Das gibt (zumindest bei mir) ziemlich zuverlässig an, ob sich was geändert hat, oder eben nicht.

Offline -Michael-

  • Aktives Mitglied
  • ***
  • Beiträge: 153
  • Geschlecht: Männlich
    • Software Guide
Re: item.LastModified
« Antwort #11 am: 02.10.04 - 21:59:31 »
Die item.ValueLength property funktioniert nämlich zuverlässig.
Diese in Verbindung mit item.Text zum Vergleich vorher/nachher kann imho schon ziemlich zuverlässig sagen ob es eine Änderung gab, auch wenn das nicht 100% sauber ist, gerade wenn der Text im Dokument sehr lange ist.....
Genau so hatte ich das auch letztens erst gelöst, weil mir item.LastModified nicht zuverlässig erschien:
Value Length in Verbindung mit dem Plain Text.
Im LDD-Forum gibt es auch ein paar Beiträge hierzu, in einem wurde auch genau diese Lösung vorgeschlagen.

Die Umsetzung war für mich für eine Historie, habe ich gestern erst online gestellt, siehe: http://www.notes-links.de/cpo/eigenentwicklungen/detail.php?nr=519&kategorie=eigenentwicklungen

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz