Alaska Software Inc. - ot4xb FileTime64() geht seit RC1 nicht mehr
Username: Password:
AuthorTopic: ot4xb FileTime64() geht seit RC1 nicht mehr
Markus Ratzesbergerot4xb FileTime64() geht seit RC1 nicht mehr
on Tue, 07 Oct 2014 23:27:39 +0200
Dieses einfache Programm funktioniert seit der RC1 nicht mehr, Bis 
Xbase++ v2.0.519 hat es noch funktioniert.

#include "ot4xb.ch"
proc main
local oFt, oK

? ot4xb()   returns 001.006.000.167

oK := FileTime64()  returns always nil since rc1
if oK = NIL
    ? "Fehler oK=NIL"
endif

Gruß
Markus
Andreas HerdtRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Wed, 08 Oct 2014 11:10:14 +0200
Hello Mr Ratzesberger,

Please contact Pablo Botella. I assume that the library requires a rebuild.

With Xbase++ 2.0 we have changed the internal type defines, a rebuild
of libraries is required that are implemented in C/C++ using the C-API
and the corresponding C/C++ header files.

The updated C-API documentation must be taken into consideration on
how Xbase++ types are to be identified from C/C++.

With my best regards,

  Andreas Herdt
  Alaska Software

--------------------------------------------------------------------

Technical Support:      support@alaska-software.com

News Server:            news.alaska-software.com
Homepage:               http://www.alaska-software.com
WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm

Fax European Office:    +49 (0) 61 96 - 77 99 99 23
Fax US Office:          +1 (646) 218 1281
--------------------------------------------------------------------

"Markus Ratzesberger" wrote in message 
news:434d730a$2be82062$dd64@news.alaska-software.com...
> Dieses einfache Programm funktioniert seit der RC1 nicht mehr, Bis Xbase++ 
> v2.0.519 hat es noch funktioniert.
>
> #include "ot4xb.ch"
> proc main
> local oFt, oK
>
> ? ot4xb()  // returns 001.006.000.167
>
> oK := FileTime64() // returns always nil since rc1
> if oK = NIL
>    ? "Fehler oK=NIL"
> endif
>
> Gruß
> Markus
>
Andreas HerdtRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Wed, 08 Oct 2014 11:13:24 +0200
Hallo Herr Ratzesberger,

Habe ich gerade in Englisch geantwortet?

Bitte nehmen Sie mit Pablo Botella verbindung auf. Ich denke das ein
Rebuild der Bibliothek erforderlich ist.

Mit Xbase++ 2.0 haben wir das interne Typen Management überarbeitet,
das bedingt ein neues Bauen aller Bibliotheken die unter Verwendung
der C-API in C/C++ gebaut wurden.

Es ist dann auch die geänderte Dokumentation der C-API zu beachten, die
beschreibt, wie auf Xbase++ Typen hin zu prüfen. ist.

Das war Deutsch, wie bei Sendung mit der Mause.

Mit freundlichen Grüssen,

  Andreas Herdt
  Alaska Software

--------------------------------------------------------------------

Technical Support:      support@alaska-software.com

News Server:            news.alaska-software.com
Homepage:               http://www.alaska-software.com
WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm

Fax European Office:    +49 (0) 61 96 - 77 99 99 23
Fax US Office:          +1 (646) 218 1281
--------------------------------------------------------------------

"Andreas Herdt" wrote in message 
news:980829f$54e6fa7$eb6f@news.alaska-software.com...
> Hello Mr Ratzesberger,
>
> Please contact Pablo Botella. I assume that the library requires a 
> rebuild.
>
> With Xbase++ 2.0 we have changed the internal type defines, a rebuild
> of libraries is required that are implemented in C/C++ using the C-API
> and the corresponding C/C++ header files.
>
> The updated C-API documentation must be taken into consideration on
> how Xbase++ types are to be identified from C/C++.
>
> With my best regards,
>
> -- 
>  Andreas Herdt
>  Alaska Software
>
> --------------------------------------------------------------------
>
> Technical Support:      support@alaska-software.com
>
> News Server:            news.alaska-software.com
> Homepage:               http://www.alaska-software.com
> WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm
>
> Fax European Office:    +49 (0) 61 96 - 77 99 99 23
> Fax US Office:          +1 (646) 218 1281
> --------------------------------------------------------------------
>
> "Markus Ratzesberger" wrote in message 
> news:434d730a$2be82062$dd64@news.alaska-software.com...
>> Dieses einfache Programm funktioniert seit der RC1 nicht mehr, Bis 
>> Xbase++ v2.0.519 hat es noch funktioniert.
>>
>> #include "ot4xb.ch"
>> proc main
>> local oFt, oK
>>
>> ? ot4xb()  // returns 001.006.000.167
>>
>> oK := FileTime64() // returns always nil since rc1
>> if oK = NIL
>>    ? "Fehler oK=NIL"
>> endif
>>
>> Gruß
>> Markus
>>
>
Thomas BraunRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Wed, 08 Oct 2014 13:18:46 +0200
Andreas Herdt wrote:

> Mit Xbase++ 2.0 haben wir das interne Typen Management überarbeitet,
> das bedingt ein neues Bauen aller Bibliotheken die unter Verwendung
> der C-API in C/C++ gebaut wurden.

Oh - ich vermute das betrifft dann auch meine taskbar library... muß ich
mal bei Gelegenheit testen.

grüße
Thomas
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Mon, 13 Oct 2014 08:23:36 +0200
> Bitte nehmen Sie mit Pablo Botella verbindung auf. Ich denke das ein
 > Rebuild der Bibliothek erforderlich ist.
 >
 > Mit Xbase++ 2.0 haben wir das interne Typen Management überarbeitet,
 > das bedingt ein neues Bauen aller Bibliotheken die unter Verwendung
 > der C-API in C/C++ gebaut wurden.
 >
 > Es ist dann auch die geänderte Dokumentation der C-API zu
 > beachten, die beschreibt, wie auf Xbase++ Typen hin zu prüfen. ist.

Das ist aber sehr unerfreulich, für beinahe jeden DLL Zugriff braucht
man die ot4xb, da die Datentypen in pur Xbase zu stark eingeschränkt 
sind. Trifft das alle Datentypen ?
Bei einem kurzen Test konnte ich zumindest beim Zugriff auf QuickPDF 
keinen Fehler entdecken, aber ob intern alles OK geht weiß ich nicht.

MfG
Hubert Brandel
Thomas BraunRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Mon, 13 Oct 2014 08:43:53 +0200
Hubert Brandel wrote:

> Das ist aber sehr unerfreulich, für beinahe jeden DLL Zugriff braucht
> man die ot4xb, da die Datentypen in pur Xbase zu stark eingeschränkt 
> sind. Trifft das alle Datentypen ?
> Bei einem kurzen Test konnte ich zumindest beim Zugriff auf QuickPDF 
> keinen Fehler entdecken, aber ob intern alles OK geht weiß ich nicht.

Hmmm, der Quellcode ist ja zum Glück hier zu finden:

http://www.xbwin.com/download/snapshots/ot4xb_001_006_000_167_src.zip

Jetzt fehlt nur noch jemand mit einer funktionierenden C++ Umgebung um eine
neue DLL für Xbase++ 2.x zu bauen...

Grüße
Thomas
Markus RatzesbergerRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Tue, 21 Oct 2014 10:38:13 +0200
Am 08.10.2014 11:13, schrieb Andreas Herdt:
> Hallo Herr Ratzesberger,
>
>
> Es ist dann auch die geänderte Dokumentation der C-API zu beachten, die
> beschreibt, wie auf Xbase++ Typen hin zu prüfen. ist.
>
>
Und wo findet man diese geänderte Dokumentation der C-API?

MfG
Markus Ratzesberger
Andreas HerdtRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Wed, 22 Oct 2014 15:18:31 +0200
Hallo Herr Ratzesberger,

Bitte schauen sie unter der Beschreibung _contype() und _partype(). Hier
werden die Makros aufgelistet die zur Prüfung des Xbase++ Typen zu
verwenden sind.

  Andreas Herdt
  Alaska Software

--------------------------------------------------------------------

Technical Support:      support@alaska-software.com

News Server:            news.alaska-software.com
Homepage:               http://www.alaska-software.com
WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm

Fax European Office:    +49 (0) 61 96 - 77 99 99 23
Fax US Office:          +1 (646) 218 1281
--------------------------------------------------------------------

"Markus Ratzesberger" wrote in message 
news:301b621$410983c8$43f96@news.alaska-software.com...
> Am 08.10.2014 11:13, schrieb Andreas Herdt:
>> Hallo Herr Ratzesberger,
>>
>>
>> Es ist dann auch die geänderte Dokumentation der C-API zu beachten, die
>> beschreibt, wie auf Xbase++ Typen hin zu prüfen. ist.
>>
>>
> Und wo findet man diese geänderte Dokumentation der C-API?
>
> MfG
> Markus Ratzesberger
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 09:03:26 +0200
Am 08.10.2014 11:10, schrieb Andreas Herdt:
> With Xbase++ 2.0 we have changed the internal type defines, a rebuild
> of libraries is required that are implemented in C/C++ using the C-API
> and the corresponding C/C++ header files.
>
> The updated C-API documentation must be taken into consideration on
> how Xbase++ types are to be identified from C/C++.

1. Question, where is the C-API with changes, I can't find changes in 
the Dokumentation ... but I can't use  C/C++ so this don't help realy .

2. "C/C++ header files." do this mean *.H in the include directory ?
I have checked the *.H files from 1.90.355 and 2.00.556

Here is a list of changed text in this *.H files:

<! = 1.90.355 !> = 2.00.556  ... searched with WinDiff

xppcon.h
  <!      Alaska Software, (c) 1997-2009. All rights reserved.
  !>      Alaska Software, (c) 1997-2014. All rights reserved.

xppdef.h
  <!      Alaska Software, (c) 1997-2009. All rights reserved.
  !>      Alaska Software, (c) 1997-2014. All rights reserved.

xpppar.h
  <!      Alaska Software, (c) 1997-2009. All rights reserved.
  !>      Alaska Software, (c) 1997-2014. All rights reserved.

and the source files from the CAPI folder in the samples are more than 
10 Years old.

very strange to me ...
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 10:11:48 +0200
Und nun den Vergleich von _partype ... in der Doku:

1.9 - ULONG _partype(XppParamList pList, ULONG ulIndex);
2.0 - ULONG _partype(XppParamList pList, ULONG ulIndex);

1.9 - Indexliste
2.0 - Auflistung ... ich kann da keine Unterschiede feststellen ...

Ich sehe keine Änderungen, außer der KLARSTELLUNG:

It should be noted that for some types more then one bit is masked in 
the return value. Furthermore, the numeric value representing a type may 
change in future Xbase++ versions. Because of these reasons the return 
value should be tested with one of the macros defined in the header file 
xpppar.h.

Aber ich kenne mit mit C/C++ auch nicht aus 
_________________
Gruß
Hubert
Thomas BraunRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 15:21:31 +0200
Markus Ratzesberger wrote:

> Dieses einfache Programm funktioniert seit der RC1 nicht mehr, Bis 
> Xbase++ v2.0.519 hat es noch funktioniert.

> oK := FileTime64()  returns always nil since rc1

Irgendwie steh' ich auf dem Schlauch - ich finde diese Funktion weder in
der Dokumentation zu ot4xb, noch kann ich das Codebeispiel mit ot4xb
binden... ist das eine benutzerdefinierte Funktion?

Hintergrund - ich habe es unter großen Schmerzen geschafft einen neuen
Build zu erzeugen und würde den gerne testen.

grüße
Thomas
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 15:42:33 +0200
Am 23.10.2014 15:21, schrieb Thomas Braun:

>> oK := FileTime64()  returns always nil since rc1
>
> Irgendwie steh' ich auf dem Schlauch - ich finde diese Funktion weder in
> der Dokumentation zu ot4xb, noch kann ich das Codebeispiel mit ot4xb
> binden... ist das eine benutzerdefinierte Funktion?
>
> Hintergrund - ich habe es unter großen Schmerzen geschafft einen neuen
> Build zu erzeugen und würde den gerne testen.

in der (veralteten) Doku wird FileTime() als Funktionsname genannt.
Das Thema war in Pablos Newsgroup aufgekommen, aber Jimmy sollte das 
besser wissen ...

Navigation:  Reference > Classes > FileTime()

dies war das Beispiel PRG, das ich gesehen hatte, wobei im Original 
direkt oft := FileTime64():New() aufgerufen wurde und ich es auf zwei 
Schritte aufgeteilt habe um zu zeigen, dass FileTime64() NIL zurückliefert.

#include "ot4xb.ch"

proc main
local oft := FileTime64()
if oft=NIL
    ? "FileTime64() = NIL"
endif
oft := oft:New()
oft:now(.T. )    use .T. to get local time instead of GTM
? oft:cTimeStamp
? oft:GetTimeStamp19()
? oft:_GetTimeStamp_("%04.4hu%02.2hu%02.2hu%02.2hu%02.2hu%02.2hu.%03.3hu")
? oft:_GetTimeStamp_("Year:%04.4hu Month:%02.2hu Day:%02.2hu Hour: 
%02.2hu Minute: %02.2hu Secconds: %02.2hu Milliseconds: %03.3hu")

inkey(0)
return
Thomas BraunRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 17:46:10 +0200
Hubert Brandel wrote:

> Navigation:  Reference > Classes > FileTime()
> 
> dies war das Beispiel PRG, das ich gesehen hatte, wobei im Original 
> direkt oft := FileTime64():New() aufgerufen wurde und ich es auf zwei 
> Schritte aufgeteilt habe um zu zeigen, dass FileTime64() NIL zurückliefert.

Ah - OK, also kommt schon das Klassenobjekt nicht aus der Funktion zurück.

Ein recompile hilft da leider auch nicht (hab ich eben getestet), ich
fürchte das hier größere Source-Umbauten nötig sind, damit das wieder geht.

Mein C/C++-Wissen ist allerdings so minimal das ich nicht wirklich sehe was
da falsch sein könnte - und ob (und wie) man mit der Visual C++ Express
Version diesen Xbase++ / C++ DLL-Mischmasch debuggen kann weiß ich auch
nicht wirklich.

Ich glaube da hilft nur Pablo zu kontaktieren.

grüße
Thomas
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Fri, 24 Oct 2014 08:23:56 +0200
Ich habe von Pablo eine Nachricht erhalten, dass er aktuell viel zu tun 
hat, aber die Kompatibilität mit der Xbase 2.0 auf der Liste steht ...

Für FileTime64() gibt es aber einfachen und besseren Ersatz,
DIRECTORY() liefert alle 3 Zeiten, man kann es auch auf eine Datei 
beschränken und man muss die Datei nicht öffnen 

Gruß
Hubert
Hubert BrandelRe: ot4xb FileTime64() geht seit RC1 nicht mehr
on Thu, 23 Oct 2014 16:56:56 +0200
Der Ursprung der Frage kam von hier:

http://www.xbwin.com/forum.html

Subject 	FileTime64() returns always NIL
 From 		Markus
Date 		Tue, 07 Oct 2014 11:37:49 +0200
Newsgroups 	ot4xb.public