Discussion:
VSFlex 7 unter 64 bit Systemen in einer .Net Umgebung
(zu alt für eine Antwort)
unknown
2010-07-01 09:20:42 UTC
Permalink
Hallo NG,

um unsere in die Jahre gekommenen VB6 Komponenten auf .NET umzustellen, habe
ich versucht diese in .NET einzubinden. Leider stoßen wir hier unter 64 bit
Systemen auf Probleme. In vielen VB6 Komponenten ist das FlexGrid enthalten.
Das FlexGrid wird in einer .NET Umgebung unter 64 bit nicht angezeigt.
Das Auwählen der Konfiguration x86 führte leider auch nicht zum Erfolg.
Interessanterweise funktioniert das Ganze, wenn die Start exe eine VB6 exe ist
(Hierfür habe ich ein Interop geschrieben, der einfach App.Run() aufruft,
diesen rufe ich dann in VB6 auf).

Hat jemand eine Idee, woran dieses Verhalten liegen könnte, oder was ich
noch versuchen könnte?

Danke schonmal im Voraus.


Gruß,
Martin Bürkle
Thomas Scheidegger
2010-07-01 18:15:43 UTC
Permalink
Hallo Martin
Post by unknown
in die Jahre gekommenen VB6 Komponenten auf .NET umzustellen
naja, die 10 Jahre waren eigentlich genug für 100% .NET.
Post by unknown
In vielen VB6 Komponenten ist das FlexGrid enthalten
solche vielschichtige Ungetüme nochmals weiter in Win-Forms zu hosten
kann immer nur eine wacklige Not-Übergangslösung sein.
Post by unknown
Das FlexGrid wird in einer .NET Umgebung unter 64 bit nicht angezeigt
Frage: VS2008 oder 2010 (welche Edition?) - .NET 3.x oder 4.0?

Die .NET App (Projekt der EXE) muss garantiert auf x86 (32-Bit) stehen.
(Vorsicht, es muss auch die richtige Einstellung sein, es gibt ggf mehrere
"x86"-Settings!)

Als Schnelltest würde ich rasch ein
neues minimal-WinForms Projekt erstellen
und dort direkt mal jene FlexGrid-OCX auf ein Form platzieren.
Damit kann man den Fehler evtl. besser eingrenzen (debuggen).

Diese VB-OCXe sind übrigens KillBit-verseucht,
viele Hotfixes/Rollups /Security könnten klemmen.
(lies MS KBs)
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
Martin Bürkle
2010-07-02 07:22:28 UTC
Permalink
Hallo Thomas,

danke erstmal für die schnelle Antwort.

Das Testprojekt habe ich bereits geschrieben. Es macht keinen Unterschied ob
ich es mit VS 2008 oder VS2010 erstelle. Auch die Änderung des .NET
Frameworks bringt nichts.

Bei dem Testprojekt wird das OCX selbst im Designer nicht dargestellt.

Hast Du noch weitere Ideen? Bin für jede Anregung dankbar.

Danke schonmal im Voraus.

Gruß,
Martin
Post by Thomas Scheidegger
Hallo Martin
Post by unknown
in die Jahre gekommenen VB6 Komponenten auf .NET umzustellen
naja, die 10 Jahre waren eigentlich genug für 100% .NET.
Post by unknown
In vielen VB6 Komponenten ist das FlexGrid enthalten
solche vielschichtige Ungetüme nochmals weiter in Win-Forms zu hosten
kann immer nur eine wacklige Not-Übergangslösung sein.
Post by unknown
Das FlexGrid wird in einer .NET Umgebung unter 64 bit nicht angezeigt
Frage: VS2008 oder 2010 (welche Edition?) - .NET 3.x oder 4.0?
Die .NET App (Projekt der EXE) muss garantiert auf x86 (32-Bit) stehen.
(Vorsicht, es muss auch die richtige Einstellung sein, es gibt ggf mehrere
"x86"-Settings!)
Als Schnelltest würde ich rasch ein
neues minimal-WinForms Projekt erstellen
und dort direkt mal jene FlexGrid-OCX auf ein Form platzieren.
Damit kann man den Fehler evtl. besser eingrenzen (debuggen).
Diese VB-OCXe sind übrigens KillBit-verseucht,
viele Hotfixes/Rollups /Security könnten klemmen.
(lies MS KBs)
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
.
Thomas Scheidegger
2010-07-02 08:45:07 UTC
Permalink
Post by Martin Bürkle
Bei dem Testprojekt wird das OCX selbst im Designer nicht dargestellt.
bitte detailiert!
Also zB, du kannst das OCX zwar im Designer auf das WinForm platzieren,
wird dann aber 'optisch' nicht ausgefüllt,
sondern bloss dessen Rahmen erscheint?

Weiteres nebenbei,
Als Fehlerquelle gab es historisch auch mal:
"You must have a design-time license to use Visual Basic 6.0 ActiveX
controls"
http://support.microsoft.com/kb/318597

Unter Vista/7 sollte man es ggf auch mal mit Vollberechtigung
(User als Admin, ohne UAC!) versuchen...

Auch sollltest du wie gesagt prüfen,
welche FlexGrid Version der vielen VB6/OCX Rollups du hast,
wegen den KillBits, zB
http://support.microsoft.com/kb/957924
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
Martin Bürkle
2010-07-02 09:43:28 UTC
Permalink
Hallo Thomas,

das FlexGrid wird "nur" nicht dargestellt. Ich kann auf Properties zugreifen
und diese auch zu Laufzeit auslesen. Es erscheint auch keinerlei Rahmen. Es
ist, als ob es Invisible geschaltet wäre (Visible steht aber auf true). Es
ist also auch kein Rahmen sichtbar.

Die Lizenz für das Grid habe ich eingespielt, und mein Visual Studio läuft
unter Adminrechten.

Den Hinweis mit den Killbits habe ich mir auch angesehen. In Postings im
Netz ist es allerdings so beschrieben, dass das Flexgrid überhaupt nicht mehr
funktioniert. Das ist bei mir ja nicht der Fall, weil es in VB6 direkt
richtig funktioniert.

Danke nochmals für Deine Hilfe.

Gruß,
Martin
Post by Thomas Scheidegger
Post by Martin Bürkle
Bei dem Testprojekt wird das OCX selbst im Designer nicht dargestellt.
bitte detailiert!
Also zB, du kannst das OCX zwar im Designer auf das WinForm platzieren,
wird dann aber 'optisch' nicht ausgefüllt,
sondern bloss dessen Rahmen erscheint?
Weiteres nebenbei,
"You must have a design-time license to use Visual Basic 6.0 ActiveX
controls"
http://support.microsoft.com/kb/318597
Unter Vista/7 sollte man es ggf auch mal mit Vollberechtigung
(User als Admin, ohne UAC!) versuchen...
Auch sollltest du wie gesagt prüfen,
welche FlexGrid Version der vielen VB6/OCX Rollups du hast,
wegen den KillBits, zB
http://support.microsoft.com/kb/957924
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
.
Detlef Antoni
2012-01-05 14:07:55 UTC
Permalink
Hallo Martin,

ich habe exakt dasselbe Problem wie Du.
Es geht um das Videosoft Flexgrid VSFlex7L unt win7 64Bit
Ich habe es in einem VB.net 2005 "WindowsApplication"-Projekt eingebaut.
Wenn ich das Programm aus der Entwicklungsumgebung heraus starte, wird das Flexgrid angezeigt.

Wenn ich die compilierte EXE starte, gibt es keine Fehlermeldungen, alle anderen Controls werden angezeigt, nur das Flexgrid fehlt.

Hat sich zu Deiner Anfrage seinerzeit eine L?sung ergeben?

Vielen Dank, Detlef
Post by unknown
Hallo NG,
um unsere in die Jahre gekommenen VB6 Komponenten auf .NET umzustellen, habe
ich versucht diese in .NET einzubinden. Leider sto??en wir hier unter 64 bit
Systemen auf Probleme. In vielen VB6 Komponenten ist das FlexGrid enthalten.
Das FlexGrid wird in einer .NET Umgebung unter 64 bit nicht angezeigt.
Das Auw??hlen der Konfiguration x86 f??hrte leider auch nicht zum Erfolg.
Interessanterweise funktioniert das Ganze, wenn die Start exe eine VB6 exe ist
(Hierf??r habe ich ein Interop geschrieben, der einfach App.Run() aufruft,
diesen rufe ich dann in VB6 auf).
Hat jemand eine Idee, woran dieses Verhalten liegen k??nnte, oder was ich
noch versuchen k??nnte?
Danke schonmal im Voraus.
Gru??,
Martin B??rkle
Post by Thomas Scheidegger
Hallo Martin
naja, die 10 Jahre waren eigentlich genug f??r 100% .NET.
solche vielschichtige Unget??me nochmals weiter in Win-Forms zu hosten
kann immer nur eine wacklige Not-??bergangsl??sung sein.
Frage: VS2008 oder 2010 (welche Edition?) - .NET 3.x oder 4.0?
Die .NET App (Projekt der EXE) muss garantiert auf x86 (32-Bit) stehen.
(Vorsicht, es muss auch die richtige Einstellung sein, es gibt ggf mehrere
"x86"-Settings!)
Als Schnelltest w??rde ich rasch ein
neues minimal-WinForms Projekt erstellen
und dort direkt mal jene FlexGrid-OCX auf ein Form platzieren.
Damit kann man den Fehler evtl. besser eingrenzen (debuggen).
Diese VB-OCXe sind ??brigens KillBit-verseucht,
viele Hotfixes/Rollups /Security k??nnten klemmen.
(lies MS KBs)
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
Post by Martin Bürkle
Hallo Thomas,
danke erstmal f??r die schnelle Antwort.
Das Testprojekt habe ich bereits geschrieben. Es macht keinen Unterschied ob
ich es mit VS 2008 oder VS2010 erstelle. Auch die ??nderung des .NET
Frameworks bringt nichts.
Bei dem Testprojekt wird das OCX selbst im Designer nicht dargestellt.
Hast Du noch weitere Ideen? Bin f??r jede Anregung dankbar.
Danke schonmal im Voraus.
Gru??,
Martin
Post by Thomas Scheidegger
bitte detailiert!
Also zB, du kannst das OCX zwar im Designer auf das WinForm platzieren,
wird dann aber 'optisch' nicht ausgef??llt,
sondern bloss dessen Rahmen erscheint?
Weiteres nebenbei,
"You must have a design-time license to use Visual Basic 6.0 ActiveX
controls"
http://support.microsoft.com/kb/318597
Unter Vista/7 sollte man es ggf auch mal mit Vollberechtigung
(User als Admin, ohne UAC!) versuchen...
Auch sollltest du wie gesagt pr??fen,
welche FlexGrid Version der vielen VB6/OCX Rollups du hast,
wegen den KillBits, zB
http://support.microsoft.com/kb/957924
--
Thomas Scheidegger - 'NETMaster'
http://dnetmaster.net/
Post by Martin Bürkle
Hallo Thomas,
das FlexGrid wird "nur" nicht dargestellt. Ich kann auf Properties zugreifen
und diese auch zu Laufzeit auslesen. Es erscheint auch keinerlei Rahmen. Es
ist, als ob es Invisible geschaltet w??re (Visible steht aber auf true). Es
ist also auch kein Rahmen sichtbar.
Die Lizenz f??r das Grid habe ich eingespielt, und mein Visual Studio l??uft
unter Adminrechten.
Den Hinweis mit den Killbits habe ich mir auch angesehen. In Postings im
Netz ist es allerdings so beschrieben, dass das Flexgrid ??berhaupt nicht mehr
funktioniert. Das ist bei mir ja nicht der Fall, weil es in VB6 direkt
richtig funktioniert.
Danke nochmals f??r Deine Hilfe.
Gru??,
Martin
Loading...