Xbase Version 2.0.710

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Xbase Version 2.0.710

Beitrag von ramses »

Hallo zusammen

ich habe vor einigen Tagen das Update auf 2.0.710 installiert und da änderungen an Programmen anstanden diese auch ohne allzu grosses Testen an Kunden ausgeliefert. Die Probleme bei den Kunden blieben dann auch nicht aus.

Nach längerem Suchen habe ich den ersten Fehler gefunden, die Function fsize( nHandle ) gibt bei gültigem Filehandle nach Zufallsprinzip entweder die korrekte Filegrösse oder 0 zurück.

Das Problem kann ich eindeutig der Version 2.0.710 zuordnen:

Programm erstellt mit 2.0.685 --> ok
Programm erstellt mit 2.0.710 --> Probleme

Kann das jemand bestätigen?

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

Ich lasse das Programm (nach Update) gerade laufen:

Code: Alles auswählen

PROCEDURE Main
   LOCAL nH, cTxt, nLen, x,nCount:=0, cFile := "test.bin"
   /* we use the ansi charset by default */
   SET CHARSET TO ANSI

   ? "Test fsize()"
   ?
   cTxt := "Dies ist ein Test"
   nLen := len(cTxt)
   ? "Ausgabe: ",cTxt, " sind ",nLen," Bytes"

   erase (cFile)
   nH := fcreate(cFile)
   ? "fWrite:",fWrite(nH,cTxt)," Bytes geschrieben"
   ? "fSize: ",fSize(nH)
   ? "Erstellt, Länge testen"
   fclose(nH)
   inkey(3)
   nH := fOpen(cFile)
   DO WHILE inkey(.2) <> 27
      nCount++
      x := fSize(nH)
      ? time(),"fSize: ",x,"Versuch:",nCount
      IF nLen <> x
         ? "*** FEHLER: ",x,"statt",nLen
      ENDIF
   ENDDO
   /* $TODO: place your application code here */
RETURN
bis jetzt keine Fehler
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

15.434 fehlerfreie Versuche. Kann es sein dass Win 7 ohne die Reg-Einträge aktiv ist. Hört sich für mich nach defekten Metadaten an.
Oder ab und zu hat das OS Probleme auf die Datei zuzugreifen ... obwohl die offen ist (Netzwerkprobleme ?)
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Xbase Version 2.0.710

Beitrag von ramses »

Hi
danke für deine Versuche.

Metadaten kann ausgeschlossen werden.
Der Effekt ist auf allen PC's Win7/Win10 und auch auf Laufwerk C: der selbe.
Das Problem lässt sich auch in einem kleinen Testprogramm nachvollziehen.
Die betroffenen Programmzeilen liefen in den vergangenen Jahren problemlos. Mehrere 100'000 Durchgänge.
(Kopieren einer L&L Projektdatei in ein TMP-Verzeichnis um diese via DOM für den einzelnen Ausdruck anzupassen)

Im Dateianhang ist mein Testprogramm, Projektdatei und Screenshots unter 2.00.685 = OK, 2.00.710 nur Fehler.

Merkwürdig ist dass wenn das Test-Programm im Debugger (xppdbg.exe test.exe) im Einzelschrittmodus (F8) ausgeführt wird der Fehler NICHT auftritt.

Cu Carlo
Dateianhänge
fsizeProb.zip
(32.24 KiB) 414-mal heruntergeladen
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

mit deinem Testprogramm tritt bei mit ab 2.00.703 der Fehler auch auf. Solltest du gleich an Alaska melden.

Warum und wo kann ich jetzt nicht erkennen. Mit dem Debugger ging es soweit ohne Fehler.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Xbase Version 2.0.710

Beitrag von ramses »

Hallo Hubert

danke für deinen Test.

In meiner Hauptanwendung wird die Funktion fsize() in 69 PRG Dateien ein/mehrmals verwendet. .....
Ich bin vorerst zurück zu 2.00.685 alles andere scheint mir für mich und meine Kunden grob fahrlässig.

Es scheint sich um ein von Alaska neu eingebautes Problem bezw. Feature an elementaler Stelle zu handeln.
Sind die Xbase++ Updates eigentlich nur "experimentel" oder getraut sich jemand diese auch "produktiv" einzusetzten?

So zu arbeiten macht "Freude", ich verzichte jetzt auf die Auswahl eines Smilies ...... oder eines weiteren Kommentars.

Alaska, quo vadis ?????

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

einige Fehler wurden beseitigt, andere kommen dazu, du solltest Alaska den Fehler melden. ;-)
Auf die Antwort sind wir gespannt.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von Jan »

Hallo Carlo,

zu Deiner Frage: Ja, es gibt viele Entwickler, die die 2.0 produktiv einsetzen. Ich bin einer davon. Denn insgesamt ist die 2.0 sehr stabil und schnell.

Aber Hubert hat schon recht: Es gibt immer noch "Kinderkrankheiten" (ich hab z. B. kürzlich ein schweres Speicherleck gefunden, ausgerechnet in dem Bereich, über den ich beim Forentreffen gespochen hatte). Das was Verschlimmbessert wurde im Laufe der 2.0 hatte ich allerdings bislang noch nicht. In der Beta hatte ich öfters mit diversen Problemen zu kämpfen, die mal liefen und mal nicht mehr. Aber das schien mir vorbei zu sein.

Wie Hubert schrieb: Testroutine inkl. Fehlerbeschreibeung an Alaska schicken. Der beste Weg, daß das schnellsten korrigiert wird.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Xbase Version 2.0.710

Beitrag von ramses »

Danke für eure Antworten.

Wenn die Suche nach Fehlern (die wir vorher gar nicht hatten) nicht so viel der eh schon knappen Zeit verschlingen würde und sich die eigenen Kunden nicht am Telefon nerven weil das Programm plötzlich mit Fehlern an bisher problemlosen Stellen abstürzt, könnte man vielleicht ja sogar darüber Lachen....

Mit "Produktiv Einsatz" habe ich natürlich die Updates gemeint, nicht die 2.00 als ganzes.

Ist das Speicherleck noch offen bzw. wo ist dieses?

Gemeldet hab ich es jetzt.

Eine Antwort ist auch schon da, ein Ausschnitt: "We love Xbase++, and you?"

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Xbase Version 2.0.710

Beitrag von Manfred »

gib als Antwort: "We love to entertain you" :badgrin:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von Jan »

Hallo Carlo,

wenn Alaska ein neues Update herausbringt, installiere ich mir das immer sofort. Die Kunden bekommen das dann mit meinem nächsten Udpate. Was auch bedeutet, das ich dann schon einiges damit gearbeitet und getestet habe. Ein Rollback mußte ich bislang noch nie machen.

Der Fehler liegt in XbpHtmlWindow. Beim Destroyen eines Objektes wird der Speicher nicht mehr freigegeben, und irgendwann scheppert das dann mit einem internen Fehler. Alaska hat dafür den PDR 6796 aufgemacht, und zugesagt, daß das bis zum nächsten Udpate erledigt sei. Ich muß dazu aber auch ganz ehrlich sagen daß das nicht ganz so gravierend ist für die meisten Entwickler. Mir war das nur aufgefallen weil ich in einem Kundenprojekt exzessiv neue HTML-Objekte anlege. Hunderte im Laufe des Tages. Und das wird dann irgendwann doch zu viel.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

Vor einiger Zeit habe ich mich mit Java beschäftigt, was mir da positiv aufviel war der Entwicklungsprozess der in dem Buch beschrieben wurde (nicht Java speziefisch).

Wenn die eine neue Funktion gemacht haben, wurde sofort eine Testroutine erstellt, die einmal aufgerufen ALLE gewünschten und unerwünschten
Eingaben mit den Ausgaben vergliechen hat und durch alle Teile der Funktion durchlief. Wenn man das zuende denkt,
kann man eine solche Testdatei mit seinen Funktionen beim neuen Release aufrufen und automatisch die Zuverlässigkeit der erwarteten Ergebnisse sicherstellen oder Fehler erkennen.

Ich bin noch nicht soweit alle meine Funktionen so zu testen, aber ich will das für meine allgemeinen Funktionen auf jeden Fall machen und in Anwendungen wäre es nicht schlecht.
Es ist einfach leichtfertig darauf zu vertrauen, dass die anderen keine Fehler machen die Seiteneffekte auslösen können.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

Ich habe jetzt mal mein Testprogramm von oben ohne Debugger mit 2.00.703 kompiliert und laufen lassen.
Bis jetzt ohne Fehler ... eventuell liegt der Seiteneffekt auch in einer anderen Zeile oder dem Variablen Typ !
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Xbase Version 2.0.710

Beitrag von ramses »

@Manfred
gib als Antwort: "We love to entertain you" :badgrin:
Ja genau!

@Jan
mit dem letzten Update hatte ich wirklich kein Glück und mein "Fehlerkredit" bei den Kunden vorerst aufgebraucht. Was hättest du den ohne Rollback gemacht? Mir ist keine Alternative eingefallen. Glücklicherweise ging alles per RDP so war es leichter auszubaden....
Oh zum Glück, das "XbpHtmlWindow" Problem trifft mich nicht. Ich verwende es nicht. HTML verwende ich nur für Webanwendungen mit xb2net. Danke für die Erklährung.

@Hubert
Auf den ersten Blick scheint dies Interessant, ich hatte damit mal begonnen es dann wieder aufgegeben da der Erlös in keinem Verhältnis zum Aufwand stand. Vorallem aber auch viele Probleme damit nicht erkannt wurden. Ich habe meine Funktionen in Gruppen und Verzeichnissen geordnet. In jedem gibts ein Test-Programm dies hift beim Entwickeln der Funktionen sehr gut .... Am weitesten und meisten hat mir ein Buch das ich den USA mal erhalten habe gebracht es handete sich dabei um "Erfolg und Zeitersparnis durch Regeln bei der Programmierung". Leider ist es bei einem Umzug untergegangen. Diese Regeln versuchte ich mir anzueignen und arbeite noch immer so. So z.B. max. Fehlerpüfung des Compilers verwenden, eine Funktion hat nur ein Return und ist kurz, Plausibilitästtest, Variablennamen System usw. es ist jetzt schwierig ein ganzen Buch mal so kurz zu beschreiben.

Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von Jan »

Carlo,

mit der 2.0 kann man HTML für GUI-Elemente verwenden. Entweder bestehende Xbparts per CSS und HTML "ownerdrawen", oder komplett eigene GUI-Parts bauen. Dafür benutze ich das.

Das Rollback geht ja zum Glück relativ einfach in Xbase++. Ich habe das bislang auch noch nie benutzt. Auch nicht in diesem Fall, denn der Fehler ist in der 2.0 schon von Anfang an drin, nicht erst mit der 710 dazu gekommen. In dem beschrieben Speicherproblem habe ich ein wenig Daten umstrukturiert. Damit muß ich nicht mehr ganz so oft die HTML-Elemente destroyen. Damit scheppert das nicht mehr so oft wie früher. Aber irgendwann eben dann doch. Daher warten wir auf das Update mit der Fehlerbehebung von Alaska und leben bis dahin damit, daß das Programm ab und an neu gestartet werden muß.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Xbase Version 2.0.710

Beitrag von ramses »

@Hubert

welches Programm meinst du jetzt? Deins das ohne Fehler geht oder meins das nicht läuft?

In deinem Programm öffnest du ein Handle und fragst in einer Schlaufe fsize() ab. Also immer das bestehende und zuletzt geöffnete Handle

ich öffne Datei1 in Readonly+Shared als Handle1, erzeuge neue Datei als Handle2 und frage dann fsize( Handle1 ) ab.

Vielleicht ist das der Unterschied der zum Crash führt.


Cu Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

Ja mein Programm mit 2.00.703 ohne Debugger ... ich kann auch mal mehr Arbeit reinsetzen.
Ich baue das mal in mein Programm ein, wobei es mit locals keine Rolle spielen sollte.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

Ich habe mir mal dein Programm vorgenommen, um den Aufbau zu vereinfachen und Zwischenergebnisse anzuzeigen:

Code: Alles auswählen

 #include "dll.ch"
 #include "fileio.ch"

//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
proc main
local cDFile, sName, nHandle1, nHandle2, a1, a2, nLen , cBuffer, nCount := 0


@ 0,0 clear

cDFile := MyGetTempPath() + "dest.lst"
sName  := "testfile.lst"
cBuffer := space(200000)
nHandle1 := fcreate(sName)
fwrite(nHandle1,cBuffer)
fclose(nHandle1)
nHandle1 := nHandle2 := 0
? "erstellt " + version(1)+"."+version(2)+"."+version(3) + sName
? sName + " ---> " + cDFile
inkey(5)

do while .t.
   nCount++
   ? "Durchlauf" , nCount

*          do while ( nhandle1 := fopen(sName,FO_READ+FO_SHARED) )  <= 0
*          enddo
*          do while ( nhandle2 := fcreate(cDFile) ) <= 0
*          enddo

          nhandle1 := fopen(sName,FO_READ+FO_SHARED)
          if empty(nHandle1)
             ? "Fehler  Datei 1 konnte nicht geöffnet werden"
          endif
          ? "direkt lesen 1",fSize(nHandle1)
          nhandle2 := fcreate(cDFile)
          if empty(nHandle2)
             ? "Fehler  Datei 2 konnte nicht erstellt werden"
          endif
          ? "direkt lesen 2",fSize(nHandle1)
          ? "direkt lesen 3",fSize(nHandle1)
          nLen := fSize(nHandle1)
          if nlen = 0
              ? "Fehler  " + version(1)+"."+version(2)+"."+version(3) +" -> fsize() = 0 ",nHandle1,nLen
              exit
          else
              ? "OK      " + version(1)+"."+version(2)+"."+version(3) +" -> " + str(nLen)
          endif
          cBuffer := space( nLen )
          a1 := fread(nHandle1,@cBuffer,nLen)
          a2 := fwrite(nHandle2,cBuffer,nLen)
          fclose(nHandle1)
          fclose(nHandle2)
          nHandle1 := nHandle2 := 0
          sleep(1)
enddo

? "warte auf Tastendruck"
inkey(10)


return


static FUNCTION MyGetTempPath()
  LOCAL nBuffSize := 261
  LOCAL sBuffer := Replicate(chr(0),261)
  LOCAL ret_val := ""

  GetTempPathA(nBuffsize, @sBuffer)

  ret_val := left(sBuffer, at(chr(0), sBuffer) -1 )

return(ret_val)

DLLFUNCTION GetTempPathA( buffsize, @buffer ) USING STDCALL FROM KERNEL32.DLL
nun zeigt das Ergebnis sofort das Problem !

? "direkt lesen 1",fSize(nHandle1) stimmt immer :!:
? "direkt lesen 2",fSize(nHandle1) stimmt NIE => FEHLER :!:
? "direkt lesen 3",fSize(nHandle1) stimmt immer :!: genau wie alle weiteren Zugriffe !

Warum auch immer, bisher war das nicht so und es ist ein eindeutiger Fehler des Compilers.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

und noch verwunderlicher ... wenn ich GUI=YES auf GUI=NO ändere, ändert sich das Verhalten und alle Zugriffe nach 1 schlagen fehl.

Da muss ein übler Bug drinn sein, mit der 1.90.355 (die 2.00.6ff hab ich zur Zeit nicht im Zugriff) stimmt es immer.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

und so sieht mein Programm aus, das den Fehler auch hat:

Code: Alles auswählen

#include "Common.ch"

/* This is our main procedure
 */
PROCEDURE Main
   LOCAL nH, cTxt, nLen, x,nCount:=0, cFile := "test.bin",cFile2 := "ziel.bin"
   /* we use the ansi charset by default */
   SET CHARSET TO ANSI

   ? "Test fsize()   ",version()+"."+version(3)
   ?
   cTxt := "Dies ist ein Test"
   nLen := len(cTxt)
   ? "Ausgabe: ",cTxt, " sind ",nLen," Bytes"

   erase (cFile)
   nH := fcreate(cFile)
   ? "fWrite:",fWrite(nH,cTxt)," Bytes geschrieben"
   ? "fSize: ",fSize(nH)
   ? "Erstellt, Länge testen"
   fclose(nH)
   inkey(3)
   nH := fOpen(cFile)
   IF empty(nH)
      ? cFile,"konnte nicht geöffnet werden"
      inkey(2)
      quit
   ENDIF
   nZ := fCreate(cFile2)
   IF empty(nZ)
      ? cFile2,"konnte nicht erstellt werden"
      inkey(2)
      quit
   ENDIF
   DO WHILE inkey(1) <> 27
      nCount++
      x := fSize(nH)
      ? time(),"fSize: ",x,"Versuch:",nCount
      IF nLen <> x
         ? "*** FEHLER: ",x,"statt",nLen
         inkey(3)
         exit
      ENDIF
   ENDDO


   /* $TODO: place your application code here */
RETURN
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von Martin Altmann »

Ganz dumme Idee:
Ändert sich das Verhalten, Hubert, wenn Du statt dieser Zeile

Code: Alles auswählen

nHandle1 := nHandle2 := 0
das so schreibst:

Code: Alles auswählen

nHandle1 := 0
nHandle2 := 0
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

in meinem Beispiel kommt das nicht vor, die Handels sollten auch verschieden sein, prüfe ich aber mal nach.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Xbase Version 2.0.710

Beitrag von brandelh »

geändert an beiden Stellen auf

Code: Alles auswählen

nHandle1 := 0
nHandle2 := 0
ich lasse die Handles ausgeben und erhalte dann immer die gleichen Handlenummern, aber wechselweise ...

Code: Alles auswählen

direkt lesen 1     200000       1016          0
direkt lesen 2     200000       1016       1020
direkt lesen 3     200000       1016       1020
OK      1.90.355 ->     200000
Durchlauf          8
direkt lesen 1     200000       1020          0
direkt lesen 2     200000       1020       1016
direkt lesen 3     200000       1020       1016
OK      1.90.355 ->     200000
Durchlauf          9
direkt lesen 1     200000       1016          0 * hier ist nur eine Datei offen
direkt lesen 2     200000       1016       1020
direkt lesen 3     200000       1016       1020
OK      1.90.355 ->     200000
Durchlauf         10
direkt lesen 1     200000       1020          0
direkt lesen 2     200000       1020       1016
direkt lesen 3     200000       1020       1016
OK      1.90.355 ->     200000
Durchlauf         11
direkt lesen 1     200000       1016          0
direkt lesen 2     200000       1016       1020
direkt lesen 3     200000       1016       1020
OK      1.90.355 ->     200000
warte auf Tastendruck
mit der 2.00.703 kommt das Ergebnis raus ( GUI=NO)

Code: Alles auswählen

erstellt 2.00.703 testfile.lst
testfile.lst ---> dest.lst
Durchlauf          1
direkt lesen 1     200000       1068          0
direkt lesen 2          0       1068       1072
direkt lesen 3          0       1068       1072
Fehler  2.00.703 -> fsize() = 0        1068          0
warte auf Tastendruck
und GUI=YES liefert das:
fsizeProblem.png
fsizeProblem.png (31.64 KiB) 16108 mal betrachtet
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Xbase Version 2.0.710

Beitrag von AUGE_OHR »

Danke Hubert für deine Test Ergebnisse. interessant was die Version 2.00.7xx macht ...

Frage : was passiert bei FSIZE(Filename) statt einem Handle ?
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Xbase Version 2.0.710

Beitrag von AUGE_OHR »

hi,
ramses hat geschrieben:Im Dateianhang ist mein Testprogramm, Projektdatei und Screenshots unter 2.00.685 = OK, 2.00.710 nur Fehler.
warum so viel Aufwand um eine Datei zu kopieren wie im Demo ?
ok es geht da um FSIZE(nHandle/cFilename) aber ich meine es allgemein.

ein "altes" COPY FILE (cSourceFile) TO (cTargetFile) würde ja reichen ...
leider bietet uns Alaska kein Interface zur Windows API "SHFileOperationA" an.

ShFile.ZIP (original mit BAP) findest du hier
http://www.xbaseforum.de/viewtopic.php? ... 59&p=50466

die ot4xb Version ( mit Structure ) hier
http://www.xbaseforum.de/viewtopic.php?f=27&t=8689
gruss by OHR
Jimmy
Antworten

Zurück zu „Unterschiede Version 1.9 <-> 2.0“