| |
Anzeigen |
|
|
Social Bookmark Script |
|
|
|
 |
Timeout während Direct_input |
Ralf
Eroberer
  
Dabei seit: 30.03.2008
Beiträge: 60
 |
|
| Timeout während Direct_input |
 |
In einer While-Schleife habe ich beim Speichern von Datensätzen immer einen Timeout . Wenn ich das über das DD löse werden einfach komentralos die Daten nicht geschrieben. wie ist das zu lösen ?
Procedure Datenlesen
Direct_Input channel 2 "h:\vdfp\np-vi5\formular\Dir.txt"
Readln channel 2 temstr
While (not(SeqEof))
Clear Datei1
Move temst to Datei1.Feld1
find eq Datei1 by index.1
if (found) send Datensatz_Speichern
Readln channel 2 temstr
end
end_Procedure
Procedure Daten_Speichern
move 123 to Datei1.Feld2
saverecord Datei1 // gibt timeout
end_Porocedure
|
|
06.10.2009 11:49 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Ralf,
Ich sehe zwar in dem (Pseudo-)Beispielcode kein Lock/Reread, gehe aber davon aus, dass es für die Multi-Userfähigkeit integriert ist.
Bei einem Lock/Reread werden alle zu diesem Zeitpunkt alle zum Lesen/Schreiben geöffneteten Dateien gesperrt. Wenn dabei Alias-Dateien mit im Spiel sind, deren FileMode nicht richtig gesetzt setzt, versucht DF ein- und dieselbe Datei 2x zu sperren, was natürlich nicht geht. In diesem Fall steht das System.
Eine optimale Lösung hiefür ist die Verwendung eine Business Process (BPO). Da drin werden alle benötigten DDs hinterlegt. Das intelligente Locking von DF würde dann dabei auch nur die betroffenen Dateien sperren.
Trotzdem sollte man nach den Alias-Dateien schauen, damit es nicht künftig bei anderen Aktionen nicht erneut zum Hängenbleiben des Systems kommt.
Matthias
|
|
06.10.2009 15:27 |
|
|
Ralf
Eroberer
  
Dabei seit: 30.03.2008
Beiträge: 60
Themenstarter
 |
|
Also das geht alles nicht...
ich habe das jetzt in 2.3b gelöst.....
|
|
07.10.2009 09:53 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Ralf,
das Problem liegt mit Sicherheit nicht an den neuen Versionen von DataFlex, sondern dass die alte 2.3 Version in diesem Construct keine Lockings ausführt und damit (ohne eine Reread/Lock) nicht wirklich Multi-User fähig ist.
Ich würde mal den Threád
Harte Nuss
verfolgen und das kleine Programm ShowAlias ausführen lassen.
Viele Grüße
Matthias
|
|
07.10.2009 20:54 |
|
|
|
|
|
 |
|