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:

Code: Alles auswählen

HKCR\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D
Der Eintrag im einzigen Wert ist (bei mir)

Code: Alles auswählen

iplpwpnippopupiivjrioppisjsjlpiiokuj
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
MS_OCX_LIC.PNG (76.75 KiB) 14099 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.