VO Tools für X#

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

VO Tools für X#

Post by lagraf »

Hallo Karl-Heinz,
ich habe meine Fenster sowieso nie von den HooverWindows abgeleitet, immer nur die Buttons von HooverButton oder MultiHooverButton!

Danke für deine Arbeit daran! Ich werde es in Kürze ausprobieren, muss vorher aber noch für meine Frau ein wenig Arbeit in ihre Homepage investieren!

LG Franz
Karl-Heinz
Posts: 774
Joined: Wed May 17, 2017 8:50 am
Location: Germany

VO Tools für X#

Post by Karl-Heinz »

Hi Robert,

because it worked i didn´t change it. But i agree it´s better to remove the logic casts. The only logic cast i had to change is this one, because it always returns false while it works with VO.

Code: Select all

SELF:lShowFocus	:= LOGIC(_CAST,_AND(GetWindowLong(SELF:hWnd,GWL_STYLE), WS_TABSTOP))  
X#

Code: Select all

SELF:lShowFocus	:= _AND(GetWindowLong(SELF:hWnd,GWL_STYLE), WS_TABSTOP) == WS_TABSTOP	
regards
Karl-Heinz
User avatar
Chris
Posts: 4926
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

VO Tools für X#

Post by Chris »

Hi Karl-Heinz,
Karl-Heinz wrote:
because it worked i didn´t change it. But i agree it´s better to remove the logic casts. The only logic cast i had to change is this one, because it always returns false while it works with VO.

Code: Select all

SELF:lShowFocus	:= LOGIC(_CAST,_AND(GetWindowLong(SELF:hWnd,GWL_STYLE), WS_TABSTOP))  
X#

Code: Select all

SELF:lShowFocus	:= _AND(GetWindowLong(SELF:hWnd,GWL_STYLE), WS_TABSTOP) == WS_TABSTOP	
Thanks, this is a bug actually, will log it. Problem is that apparently the CLR only checks the lower 8 bits of the integer when "casting" to logic, most probably because it does save logics as single bytes usually. So you get those results currently:

? LOGIC(_CAST,1) // TRUE
? LOGIC(_CAST,128) // TRUE
? LOGIC(_CAST,256) // FALSE
? LOGIC(_CAST,1024) // FALSE
? LOGIC(_CAST,^65536) // FALSE (the value of WS_TABSTOP)

so this either needs to be taken care of directly in the compiler, if not always returning an error for casts like that.
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
Karl-Heinz
Posts: 774
Joined: Wed May 17, 2017 8:50 am
Location: Germany

VO Tools für X#

Post by Karl-Heinz »

Hi Chris,

Ok, so there´s at least one good reason to port this code ;-)

@all

attached is a "logic cast free" viaef. Interesting will be if the home made bitmap functions work - so let´s wait what Franz will report ...

regards
Karl-Heinz
Attachments
HoverButtonLib.ZIP
(16.43 KiB) Downloaded 48 times
ic2
Posts: 1858
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

VO Tools für X#

Post by ic2 »

lagraf wrote: Kann man mit InnoSetup irgendwie erkennen, ob die benötigte .NET Version installiert ist und falls nicht, diese installieren?

LG Franz
Hallo Franz,

Hier gibt es eine Antwort auf die Inno Setup Frage.

http://www.andrew-seaford.co.uk/check-d ... nno-setup/

Weiterhin würde ich allmählich die VO-Fenster in WPF oder Winforms konvertieren. Dann braucht man auch keine HooverButton mehr.

Dick
lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

VO Tools für X#

Post by lagraf »

Hallo Dick,
danke für die Info zu InnoSetup!
Bezüglich Umstellung der VO-Fenster ist dies eine Frage des Aufwands. Ich habe keine Ahnung, was dafür zu machen ist und wie man umstellen muss, gibt es dazu Beispiele? Keiner meiner restlichen Kunden wird dafür eine Notwendigkeit sehen, solange die VO Programme noch funktionieren.
FFF
Posts: 1582
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

VO Tools für X#

Post by FFF »

Würde ich zurückstellen. Der Ersatz für die VO-GuiKlassen ist (eigentlich ;) ) für diesen Monat angekündigt und ich gehe davon aus, daß ich damit ein funktionierendes Datawindow bauen kann, sonst wäre der Aufwand witzlos. Und damit sitzt Du dann "automatisch" auf einem Winforms-Unterbau.
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

VO Tools für X#

Post by wriedmann »

Hallo Karl,
auf diese Klassen warte ich auch schon recht hart, auch wenn ich glaube, dass es da ein paar Monate dauern wird, bis da alles inklusive bBrowser funktionieren wird. Ich denke einfach, dass wir teilweise Sachen mit den VO GUI-Klassen angestellt haben, die sich die Autoren niemals vorgestellt haben, und jede Menge undokumentierte Features nutzen.
Und meines Wissens nach werden diese neuen Klassen nur die FoX-Subscriber bekommen (was ich persönlich auch verstehen kann). Schließlich soll es zum einen einen zusätzlichen Mehrwert geben, und zum anderen ist da auch wieder jede Menge Arbeit und dann Support-Aufwand drin.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
FFF
Posts: 1582
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

VO Tools für X#

Post by FFF »

Wolfgang,
eben nachgesehen, in der Roadmap steht immer noch:
...
2.2 This build will add Unicode/AnyCPU versions of the VO GUI classes and VO SQL Classes. Yes October ?
...
Yes ist der Marker unter "Public"

Und dann glaube ich gerne, daß manche hart "low level" programmiert haben. Aber viel mehr, wenn ich von mir ausgehe ;) - haben einfach mit dem gearbeitet, was da war und allenfalls abgeleitete Klassen erweitert. Für uns erhoffe ich mir einen rel. schmerzfreien Wechsel. Wie gesagt, "eigentlich" brauche ich nur das Datawindow. Alle anderen Fensterklassen habe letztlich nicht "mehr" Funktionalität, als ein entsprechendes Winform.
Wait and see...
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
ic2
Posts: 1858
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

VO Tools für X#

Post by ic2 »

Hallo Franz,
lagraf wrote:Hallo Dick,
danke für die Info zu InnoSetup!
Bezüglich Umstellung der VO-Fenster ist dies eine Frage des Aufwands. Ich habe keine Ahnung, was dafür zu machen ist und wie man umstellen muss, gibt es dazu Beispiele? Keiner meiner restlichen Kunden wird dafür eine Notwendigkeit sehen, solange die VO Programme noch funktionieren.
Es kann ein manueller Vorgang sein, oder man kann Facelift von Paul Piko kaufen. Aber ich erkenne das auch: Sie möchten vielleicht modernisieren, aber will ein Kunde dass Sie Zeit damit verbringen? Und auch dafür bezahlen?

Vielleicht ab und zu ein Venster ändern nach WPF oder Winforms?


Dick
Post Reply