Seite 1 von 1
Windows 7 bzw. 2008 Server R2 und DatePicker OCX [ERLEDIGT]
Verfasst: Mo, 01. Feb 2010 8:01
von georg
Guten Morgen,
am Wochenende habe ich (natürlich mit dem entsprechenden Widerstand meiner Frau, weil ich mich mal wieder "nur" dem Computer gewidmet habe) unseren Server von 2003 auf 2008 R2 (das ist ein 64bit Betriebssystem) umgestellt (und auch die darunter liegende Hardware etwas aufgepeppt).
Probleme treten jetzt auf, dass beim Versuch, das DatePicker OCX zu verwenden, bei :create() die Fehlermeldung kommt, dass das OCX nicht verfügbar ist. Laut Registry ist es installiert, und die OCX steht auch am dort hinterlegten Platz.
Weder unter Vista 64bit noch unter Windows 7 64bit (jeweils Workstation) habe ich damit Probleme.
@Jimmy: als OCX-Experte, hast Du eine Idee, woran es liegen kann?
Gruss,
Georg
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 9:16
von AUGE_OHR
georg hat geschrieben:Weder unter Vista 64bit noch unter Windows 7 64bit (jeweils Workstation) habe ich damit Probleme.
@Jimmy: als OCX-Experte, hast Du eine Idee, woran es liegen kann?
du meinst das MsComCt2.OCX oder das von Office MsCal.OCX ? gibt doch mal die
CLSID oder
ProgID an.
Wenn MsCal.OCX von welcher Office Version ?
Ich habe, auf dem Server 2008 R2, es noch nicht ausprobiert aber wenn es sich um das MsCal.OCX handelt "könnte" es ein Version´s Problem sein den < Office 2007/2010 funktioniert vieles nicht mit dem Srv2008 den da "soll" ja alles über das "Office Web Access" gehen ...
p.s. Logfile mit genauerer Fehlerbeschreibung wäre gut ...
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 9:30
von georg
Hallo, Jimmy -
es handelt sich um dieses, {20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}, also um das MsComCt2.ocx.
Log habe ich hier nicht greifbar, da ich die Xbase++ Programmierung nebenberuflich/als Hobby betreibe und derzeit mein Geld mit Projektmanagement in einer Bank verdiene (oder jedenfalls bekomme). Ich werde das Protokoll aber nachliefern.
Danke,
Georg
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 9:38
von AUGE_OHR
georg hat geschrieben:es handelt sich um dieses, {20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}, also um das MsComCt2.ocx.
hast du auch die :licence installiert ?
Code: Alles auswählen
Microsoft Date and Time Picker Control 6.0 (SP6)
{20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}
651A8940-87C5-11d1-8BE3-0000F8754DA1
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 10:36
von georg
AUGE_OHR hat geschrieben:georg hat geschrieben:es handelt sich um dieses, {20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}, also um das MsComCt2.ocx.
hast du auch die :licence installiert ?
Code: Alles auswählen
Microsoft Date and Time Picker Control 6.0 (SP6)
{20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}
651A8940-87C5-11d1-8BE3-0000F8754DA1
Hallo, Jimmy -
also, ich habe auf meinem Notebook (WIndows 7, 64bit) mal nachgesehen und finde keinen entsprechenden Eintrag (651A8940-87C5-11d1-8BE3-0000F8754DA1) in der Registry, trotzdem klappt's auf diesem Rechner mit dem Control.
Kannst Du ein wenig mehr über die Funktion der :licence schreiben?
Danke,
Georg
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 19:24
von georg
Hallo,
hier die XppError.log:
------------------------------------------------------------------------------
ERROR LOG of "D:\Entwicklungen\DescriptionBuilder\db.exe" Date: 01.02.2010 19:18:52
Version 0.026
Xbase++ version : Xbase++ (R) Version 1.90.355
Operating system : Windows Server 2008 06.01 Build 07600
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: U VALUE: NIL
-> VALTYPE: U VALUE: NIL
-> VALTYPE: U VALUE: NIL
-> VALTYPE: U VALUE: NIL
-> VALTYPE: U VALUE: NIL
-> VALTYPE: L VALUE: .T.
oError:canDefault : Y
oError:canRetry : N
oError:canSubstitute: Y
oError:cargo : NIL
oError:description : Could not create ActiveX control
oError:filename : NIL
oError:genCode : 6503
oError:operation : XBPACTIVEXCONTROL:CREATE
oError:osCode : NIL
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from GENERATEAUDIOBOOKSDIALOG(517)
Called from (B)DESCRIPTIONBUILDER.PRG(133)
Called from XBPPUSHBUTTON:HANDLEEVENT(987)
Called from MAIN(154)
Der entsprechende Code-Abschnitt sieht so aus:
Code: Alles auswählen
#DEFINE ACX_DATEPICKER "{20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}"
...
aSizeIn[1] := 100
oDate := XbpActiveXControl():new(oGB, oGB, aPosIn, aSizeIn)
oDate:CLSID := ACX_DATEPICKER
oDate:TabStop := .T.
oDate:create()
oGB ist ein XbpStatic vom Type Groupbox.
Gruss,
Georg
Re: Windows 2008 Server R2 und DatePicker OCX
Verfasst: Mo, 01. Feb 2010 21:30
von georg
Lösung gefunden: Office 2007 installiert. Und auf einmal geht es ...
Danke für die Hilfe,
Georg
Re: Windows 2008 Server R2 und DatePicker OCX [ERLEDIGT]
Verfasst: Do, 14. Jun 2012 12:53
von georg
Hallo,
neuer Rechner, Problem erneut aufgetreten. Da ich nicht wieder zwei Office-Installationen auf dem Rechner haben wollte (Office 2007 und dann Office 2010, da durch Office 2007 die entsprechenden Einträge angelegt werden), habe ich erst einmal Google und Bing befragt, die zwar viele Hinweise zur Installation, aber keine zu meinem Problem brachten (das ändert sich jetzt mit diesem Eintrag.)
Diesmal wollte ich aber wissen, was los ist, und habe daher ein kleines, kurzes Programm geschrieben, das nur den DatePicker anzeigt:
Code: Alles auswählen
#DEFINE ACX_DATEPICKER "{20DD1B9E-87C4-11D1-8BE3-0000F8754DA1}"
#INCLUDE "ActiveX.CH"
#INCLUDE "AppEvent.CH"
#INCLUDE "Xbp.CH"
FUNCTION Main()
Local aPosIn, aSizeIn
Local dDate
Local mp1, mp2
Local nEvent
Local oGB, oXbp
oGb := SetAppWindow()
aPosIn := {10, 300}
aSizeIn := {120, 20}
oXbp := XbpActiveXControl():new(oGB, oGB, aPosIn, aSizeIn)
oXbp:CLSID := ACX_DATEPICKER
oXbp:tabStop := .T.
oXbp:create()
dDate := Date()
oXbp:setProperty("Day", 1)
oXbp:setProperty("Month", Month(dDate))
oXbp:setProperty("Year", Year(dDate))
nEvent := mp1 := mp2 := xbe_None
WHILE nEvent <> xbeP_Close
nEvent := AppEvent(@mp1, @mp2, @oXbp)
oXbp:handleEvent(nEvent, mp1, mp2)
END
RETURN (.T.)
Dann habe ich mir von
http://www.sysinternals.com
den ProcessMonitor geladen, den Filter auf mein Programm gesetzt und es auf einem XP-Rechner und meinem neuen Windows 7 Rechner laufen lassen.
Es muss ja im Ablauf EINEN Unterschied geben, der auf dem Windows 7 Rechner zum Absturz führt. Hier habe ich erst einmal die Registry-Zugriffe überprüft, und zwar auf Abweichungen. Auf dem XP-Rechner wurde folgender Zweig gefunden:
Der Eintrag im einzigen Wert ist (bei mir)
Dann habe ich auf dem Windows 7 Rechner den Schlüssel angelegt und den Wert eingetragen, und schon lief es ...
@Jimmy: es lag an einem License-Eintrag, da lagst Du mit Deiner Vermutung schon richtig.
Gruss,
Georg
Re: Windows 7 bzw. 2008 Server R2 und DatePicker OCX [ERLEDI
Verfasst: Do, 14. Jun 2012 23:32
von AUGE_OHR
hi,
bei OCX ist manchmal der o:Licence Eintrag notwendig. Ich benutze dazu den COMLicenceFinder.exe
http://www.codeproject.com/Articles/161 ... trieve-the
- MS_OCX_LIC.PNG (76.75 KiB) 14726 mal betrachtet
p.s. in der DXE LIB habe ich einen "native" DatePicker und MonthCalendar siehe Wissensbasis
http://www.xbaseforum.de/viewtopic.php?f=16&t=6239
Re: Windows 7 bzw. 2008 Server R2 und DatePicker OCX [ERLEDI
Verfasst: Di, 08. Okt 2013 11:05
von CRT
@georg
Danke für das posting, da wäre ich NIE drauf gekommen.
Der Registry Eintrag bei Windows 7 hat bei mir auch funktioniert. Das Problem trat aber erst nach einem der Windows Updates auf.
Ev. war der Eintrag vorher nicht notwendig oder das Windows-Update hat ihn gelöscht.
Re: Windows 7 bzw. 2008 Server R2 und DatePicker OCX [ERLEDI
Verfasst: Fr, 07. Nov 2014 21:48
von georg
Hallo,
einfach als Gedächtnisstütze im Netz:
die ocx-Dateien gehören nach c:\windows\sysWOW64 und werden dann mit
regsvr32 c:\windows\sysWOW64\mscomct2.ocx
regsvr32 c:\windows\sysWOW64\mscomctl.ocx
registriert. Anschliessend ist der oben erwähnte Schlüssel anzulegen, und schon läuft es.