Discussion:
DTPicker ActiveX popsuły się
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
mysz leśna
2011-08-15 16:14:57 UTC
Permalink
na liście ActiveX wymieniony jest dwa razy, niektóre inne kontrolki
nawet trzy razy. Chociaż większość raz.
Wyrejestrowanie i zarejestrowanie ponowne nie pomaga, również
przeinstalowanie całego Office'a (2002, XP).
Pojawiają się komunikaty:
There was an error loading an ActiveX control on one of your forms or
reports.
Make sure all the controls that you are using are properly registered.
For information on registering ActiveX controls, click Help.
podczas importu formularzy z DTPickerem do nowego pliku, również po
najechaniu myszą na DTPickera w niektórych formularzach pojawia się
komunikat z informacją, że nie może załadować prawidłowo ActiveX
(chociaż DTPicker działa).
Coś zmieniło ię w komputerze. Nie wiem tylko czy to ja (w co wątpię)
czy jakieś aktualizacje.
mysz leśna
2011-08-15 16:54:47 UTC
Permalink
Może to ma też coś wspólnego z tym, że oprócz Office 2002 w komputerze
zainstalowane są Runtime Office 2007 i 2010. I pojawia się jakiś
konflikt.
mysz leśna
2011-08-15 16:58:38 UTC
Permalink
Ale wcześniej też były zainstalowane.
mysz leśna
2011-08-15 20:17:18 UTC
Permalink
Bardzo ciekawe zjawisko.
Grzebanie w rejestrach i kasowanie ich spowodowało tylko, że zaczął
pojawiać się na liście tylko raz. Tzn po skasowaniu drugiego z dwóch
kluczy. Komunikaty o błędzie jednak nadal pojawiały się.

Ale po pobraniu mscomct2.ocx ze strony:
http://support.microsoft.com/kb/297381
różniącego się minimalnie rozmiarami od oryginalnego z mojego
komputera, wyrejestrowaniu poprzedniego, skasowaniu jakiegoś rejestru
MRUDS z frazą mscomct2 w jakimś polu i zarejestrowaniu nowego
mscomct2.ocx (tzn. zarejestrowaniu DTPicker ActiveX przy pomocy
Accessa) na liście ActiveX nie tylko DTPicker pojawił się już tylko
raz, ale też na przykład jakaś Animation Control która do tej pory
była wymieniona aż 3 razy. Więc lista ActiveX zrobiła się cała
prawidłowa.
Komunikat z błędem po najechaniu myszą jednak nadal pojawia się, ale
podczas importu do nowego pliku o nazwie db1.mdb już tylko na
niektórych formularzach, a podczas importowania zawartości db1.mdb do
kolejnego pliku db2.mdb nie ma już żadnych komunikatów. A co
najważniejsze w db2.mdb nie ma już komunikatów podczas najeżdżania
myszą na kontrolkę i klikania w nią. Więc coś odpowiedzialnego za
błąd zgubiło się po drodze podczas importowania zawartości do
kolejnych nowych pustych plików:
oryginalna baza --> db1.mdb --> db2.mdb
No i pobranie pliku mscomct2.ocx było kluczowe. Chociaż może dlatego
że to inny plik, nie zapamiętany jakoś w systemie (?), a nie ze
względu na jego zawartość. Oby się znowu coś nie popsuło.
Maciej Tokarz
2011-08-16 08:56:37 UTC
Permalink
Post by mysz leśna
No i pobranie pliku mscomct2.ocx było kluczowe. Chociaż może dlatego
że to inny plik, nie zapamiętany jakoś w systemie (?), a nie ze
względu na jego zawartość. Oby się znowu coś nie popsuło.
Mscomct2 to dodatkowa biblioteka, która nie jest w standardzie
rejestrowana. Zawiera kilka kontrolek:
Microsoft Animation Control
Microsoft UpDown Control
Microsoft MonthView Control
Microsoft Date and Time Picker Control
Microsoft Flat ScrollBar Control

http://support.microsoft.com/kb/297381

Jeśli zamierzasz korzystać z w/w w wersjach 64 bit warto
rejestrować/umieszczać mscomct2 bezpośrednio w katalogu C:\Windows\
--
Maciej Tokarz
http://my-poi.pl
Maciej Tokarz
2011-08-16 08:58:02 UTC
Permalink
Post by Maciej Tokarz
Jeśli zamierzasz korzystać z w/w w wersjach 64 bit warto
rejestrować/umieszczać mscomct2 bezpośrednio w katalogu C:\Windows\
Chodzi mi naturalnie o ewentualny instalator.
--
Maciej Tokarz
http://my-poi.pl
mysz leśna
2011-08-16 20:20:56 UTC
Permalink
Post by Maciej Tokarz
Jeśli zamierzasz korzystać z w/w w wersjach 64 bit warto
rejestrować/umieszczać mscomct2 bezpośrednio w katalogu C:\Windows\
To wszystko przeraziło mnie. Właśnie zrobiłem formularz - kalendarz
bez żadnych ActiveX (dni - przyciski, Comboboxy na miesiące i lata).
Zastąpi on Calendar Control którego nie ma już w Office 2010 oraz
wszystkie DTPickery. Może nawet dobrze byłoby usunąć część pozostałych
ActiveX w tej bazie - ProgressBar i ImageList (mscomct). Bo chyba
Browser działa wszędzie.
Krzysztof Naworyta
2011-08-16 21:44:44 UTC
Permalink
Post by mysz leśna
Post by Maciej Tokarz
Jeśli zamierzasz korzystać z w/w w wersjach 64 bit warto
rejestrować/umieszczać mscomct2 bezpośrednio w katalogu C:\Windows\
To wszystko przeraziło mnie. Właśnie zrobiłem formularz - kalendarz
bez żadnych ActiveX (dni - przyciski, Comboboxy na miesiące i lata).
Zastąpi on Calendar Control którego nie ma już w Office 2010 oraz
wszystkie DTPickery. Może nawet dobrze byłoby usunąć część pozostałych
ActiveX w tej bazie - ProgressBar i ImageList (mscomct). Bo chyba
Browser działa wszędzie.
Witaj w dll-hell :)

Ech, czy każdy musi ten etap przechodzić? ;)
Ja, gdy się już dorwałem do access-webring, dostałem pomieszania zmysłów od
wszystkich możliwych wodotrysków i wszystkie od razu chciałem wdrażać, czy
miało to merytoryczny sens czy też nie.
Pamiętam jak w pewnej aplikacji do przeglądu prac naukowych przysłanych na
pewną konferencję nawciskałem gdzie popadnie "efektowne" transparentne AVI i
okrągłe okienka! :)))
Jakoś straszliwie za wszelką cenę chciałem wykazać, że w accessie mogę
wszystko!

Kontrolki ocx fajne są, tylko po co? DataPicker? W a'2007 jest to już
natywna "kontrolka", powiązana automatycznie z każdą kontrolką wyświetlającą
datę. A we wcześniejszych wersjach można pobrać kalendarzyk Mariusza
Sankowskiego, jak ktoś chce to w połączeniu z moją klasą do obsługi
kontrolek z datą, i ma to, na co inni użytkownicy czekali aż do a'2007. A
wszystko napisane w VBA, bez grama jakiegoś ocx'a.
ProgressBar? Toż to przecież 3 etykiety na krzyż i trochę kodu! ImageList?
Sama w sobie do niczego nie służy.
Z wszystkich tych kontrolek coś czego może czasami brakować a samodzielne
stworzenie wymagałoby kupę roboty, to IMHO jedynie TreeView. Ale i bez
drzewka da się żyć!

No dobrze, stworzono je po to, aby je używać. Zakazu nie ma. Tyle że od
zawsze sprawiały problemy z referencjami.
A bo na docelowym już inna, nowsza/starsza wersja, a bo inny niż polski
język srodowiska/access'a, a bo inny procesor...
DLL-hell!

Umiar, umiar i jeszcze raz umiar! Access nie jest środowiskiem do
programowania wszystkiego!

--
KN
mysz leśna
2011-08-16 22:35:44 UTC
Permalink
Post by Krzysztof Naworyta
DataPicker? W a'2007 jest to już
natywna "kontrolka", powiązana automatycznie z każdą kontrolką wyświetlającą
datę.
Właśnie.
Ciekawe czy lepiej nie pozbyć się też kontrolek z MSCOMCTL.OCX (w tym
przypadku ProgressBar i ImageList). Bo może też w części komputerów
nie ma, albo jest nieprawidłowo zarejestrowany lub niezarejestrowany.
Zwłaszcza w Windows 7.
Krzysztof Naworyta
2011-08-16 23:25:28 UTC
Permalink
mysz leśna napisał(a):

(...)
Post by mysz leśna
Ciekawe czy lepiej nie pozbyć się też kontrolek z MSCOMCTL.OCX (w tym
przypadku ProgressBar i ImageList).
Nie jest to specjalnie ciekawe dla kogokolwiek, kto już trochę rozprowadzał
swoje aplikacje ;)
Ciekawe jest KIEDY je wypieprzysz i dlaczego tak późno! :)))

--
KN
mysz leśna
2011-08-17 18:35:39 UTC
Permalink
Kontrolki z MSCOMCTL.OCX mogą chyba jednak zostać ...
Maciej Tokarz
2011-08-17 19:44:34 UTC
Permalink
Post by mysz leśna
Kontrolki z MSCOMCTL.OCX mogą chyba jednak zostać ...
Można podejść mniej konserwatywnie i jednak z powodzeniem stosować
mscomct2, a w sumie DatePickera właśnie :-)
Ale trzeba się liczyć z nieprzewidzianymi kłopotami! Wymaga to testów i
dobrej obsługi ewentualnych błędów. Stąd nie każdy je stosuje.
DatePickera mam wdrożonego w całkiem sporym projekcie klienta do MSSQL w
Access 2007 pod RT2007. Działa bez zarzutu i jest ułatwieniem w pracy
(zaznaczanie zakresu dat myszą, pogrubianie wybranych dni na kalendarzu
i wiele innych).

Pozdrawiam
--
Maciej Tokarz
http://my-poi.pl

A tu kawałek kodu:

Option Compare Database

Private Const moduleName = "Form_UrlopyAdd"
Private Const rok = "2011"

Dim m As New MonthView
Dim dniWolne As New Scripting.Dictionary

Private Sub Form_Load()

On Error GoTo Blad

' wczytaj dni wolne
Dni_Wolne

Set m = Me.Kalendarz.Object
m.MaxDate = DateSerial(rok + 1, 1, 1) - 1
m.MinDate = DateSerial(rok, 1, 1)
m.MaxSelCount = 31
m.TitleBackColor = RGB(255, 230, 120)

' wypełnienie GetDayBold
m.Value = DateSerial(rok, 1, 1)

Zakoncz:
Exit Sub
Blad:
Error_Show moduleName, "Form_Load", Err
Resume Zakoncz

End Sub

Private Sub Dni_Wolne()

On Error GoTo Blad

Dim rst As ADODB.Recordset
Dim sql As String

' otwórz połączenie
'Cnn_Open

' utwórz recordset
Set rst = New ADODB.Recordset

' ustaw recordset
rst.ActiveConnection = Application.CurrentProject.Connection
rst.CursorLocation = adUseClient
rst.CursorType = adOpenStatic
rst.LockType = adLockReadOnly

' zapytanie
sql = _
"SELECT Dzien " & _
"FROM DniWolne " & _
"WHERE (Year(Dzien) = '" & rok & "')"

' otwórz recordset
rst.Open sql

Dim i As Integer

For i = 0 To rst.RecordCount - 1
dniWolne.Add Format(rst(0), "yyyy-MM-dd"), i
rst.MoveNext
Next

' zamknij recordset
rst.Close
Set rst = Nothing

' zamknij połączenie
'Cnn_Close

Zakoncz:
Exit Sub
Blad:

' dodatkowe sprawdzenie stanu połączenia
If Not cnn Is Nothing Then
If cnn.State = 1 Then
cnn.Close
Set cnn = Nothing
End If
End If

Error_Show moduleName, "Dni_Wolne", Err
Resume Zakoncz

End Sub

Private Sub Form_Unload(Cancel As Integer)
Set m = Nothing
End Sub

Private Sub Kalendarz_GetDayBold(ByVal StartDate As Date, ByVal Count As
Integer, State() As Boolean)

On Error GoTo Blad

Dim myBold As Integer
Dim d As Date

myBold = 5
While myBold < Count
State(myBold) = True
myBold = myBold + 7
Wend

myBold = 6
While myBold < Count
State(myBold) = True
myBold = myBold + 7
Wend

d = StartDate

For myBold = 0 To Count
Debug.Print dniWolne(1)
If dniWolne.Exists(Format(d, "yyyy-MM-dd")) Then State(myBold)
= True
d = DateAdd("d", 1, d)
Next

Zakoncz:
Exit Sub
Blad:
Error_Show moduleName, "Kalendarz_GetDayBold", Err
Resume Zakoncz

End Sub

Private Sub Kalendarz_SelChange(ByVal StartDate As Date, ByVal EndDate
As Date, Cancel As Boolean)

On Error GoTo Blad

Dim uDataP As Date
Dim uDataK As Date
Dim uLength As Integer

uDataP = DataP(StartDate)
uDataK = DataK(EndDate)
uLength = Urlop_Wymiar(StartDate, EndDate)

If uLength > 0 Then

Me.Wymiar.Caption = _
"Początek: " & uDataP & vbNewLine & _
"Koniec: " & uDataK & vbNewLine & _
"Wymiar: " & uLength

Else

Me.Wymiar.Caption = "Zaznacz urlop"

End If

Zakoncz:
Exit Sub
Blad:
Error_Show moduleName, "Kalendarz_SelChange", Err
Resume Zakoncz

End Sub

Private Function Urlop_Wymiar(p As Date, k As Date) As Integer

On Error GoTo Blad

Dim d As Date
Dim i As Integer

i = DateDiff("d", p, k) + 1

For d = p To k
If m.DayBold(d) = True Then
i = i - 1
End If
Next

Urlop_Wymiar = i

Zakoncz:
Exit Function
Blad:
Error_Show moduleName, "Urlop_Wymiar", Err
Resume Zakoncz

End Function

Private Function DataP(p As Date) As Date

On Error GoTo Blad

Do While m.DayBold(p) = True
p = DateAdd("d", 1, p)
Loop

DataP = p

Zakoncz:
Exit Function
Blad:
If Err.Number = 35773 Then Resume Zakoncz
Error_Show moduleName, "DataP", Err
Resume Zakoncz

End Function

Private Function DataK(k As Date) As Date

On Error GoTo Blad

Do While m.DayBold(k) = True
k = DateAdd("d", -1, k)
Loop

DataK = k

Zakoncz:
Exit Function
Blad:
If Err.Number = 35773 Then Resume Zakoncz
Error_Show moduleName, "DataK", Err
Resume Zakoncz

End Function
mysz leśna
2011-08-17 20:21:13 UTC
Permalink
W instrukcji pobieranej razem z Xnumbers.dll ActiveX jest też jakiś
gotowy przykładowy sposób na dodanie do referencji i zarejestrowanie
przy pomocy VBA:
http://digilander.libero.it/foxes/SoftwareDownload.htm
mysz leśna
2011-08-17 20:59:28 UTC
Permalink
zaznaczanie zakresu dat mysz , pogrubianie wybranych dni na kalendarzu
i wiele innych
to ciekawe

W Office 2010 nie ma już Calendar Control ActiveX (mscal.ocx):
http://blogs.office.com/b/microsoft-access/archive/2010/01/09/access-2010-deprecated-features-and-components.aspx
Chociaż DTPicker jest ładniejszy. Tyle że są problemy z Null, chociaż
do obejścia. Prześwietla też czasami przez podformularz pod którym
jest umieszczony (więc w takim przypadku najlepiej uniewidocznić go),
nie za bardzo można w stosunku do niego zastosować uszeregowanie w
warstwach (tzn. ukryć pod czymś), kiedyś też ujawniła mi się też jakaś
różnica w nawigacji przy pomocy paska nawigacji i przycisków
wyzwalających komendy DoCmd...
Ponadto na jednym formularzu z DTPickerami zachodziły jakieś
niewyjaśnione zjawiska. Ale prawie wszystko jest do obejścia. No i
bardzo ładna kontrolka.
Maciej Tokarz
2011-08-17 21:35:48 UTC
Permalink
Post by mysz leśna
zaznaczanie zakresu dat mysz , pogrubianie wybranych dni na kalendarzu
i wiele innych
to ciekawe
Podesłałem przykład na maila. Jak wrócę z urlopu zamieszczę go ponownie
na stronie.
--
Maciej Tokarz
http://my-poi.pl
Krzysztof Naworyta
2011-08-17 22:37:50 UTC
Permalink
Post by Maciej Tokarz
Post by mysz leśna
Kontrolki z MSCOMCTL.OCX mogą chyba jednak zostać ...
Można podejść mniej konserwatywnie i jednak z powodzeniem stosować
mscomct2, a w sumie DatePickera właśnie :-)
Ale trzeba się liczyć z nieprzewidzianymi kłopotami! Wymaga to testów i
dobrej obsługi ewentualnych błędów. Stąd nie każdy je stosuje.
DatePickera mam wdrożonego w całkiem sporym projekcie klienta do MSSQL w
Access 2007 pod RT2007. Działa bez zarzutu i jest ułatwieniem w pracy
(zaznaczanie zakresu dat myszą, pogrubianie wybranych dni na kalendarzu
i wiele innych).
Wszystko fajnie się używa na użytek własny :)
Jak zacznie się dystrybucja, to zaczynają się schody.
I cóż z tego, że u 990 klientów działa, jeśli u pozostałych dziesięciu muszę
tracić czas na obchodzenie problemu, mierząc się z ich niezadowoleniem i
znosząc kąśliwe uwagi ;)

Co do kalendarzyka, to rozwiązań czysto accessowych pojawiło się przez te
lata milijon.
Najwcześniej (???) bardzo profesjonalnie podszedł do tego Lebans:
http://www.lebans.com/monthcalendar.htm
tworząc kalendarzyk "wielomiesięczny", z możliwością zaznaczania zakresów
dat itd. itp.

Przytoczę cytat z początku strony:
<cyte>
This is a completely API generated Month Calendar derived directly from the
Common Control DLL.
What this means is that there are no distribution or versioning issues as
there are if you use the ActiveX Month Calendar control. In other words this
is not an ActiveX control!
</cyte>

podkreślę:
there are no distribution or versioning issues(!)

Po inne przykłady z naszego rodzimego podwórka zapraszam na
www.access.vis.pl:
1.
http://www.access.vis.pl/war230.htm
(dwa różne kalendarzyki wykonane jako natywne formularze accessowe, gdzie
pierwszy (Leszka Głowali) pozwala na różne kolorowanki)

2.
http://www.access.vis.pl/war328.htm
(gdzie kalendarzyk Mariusza Sankowskiego powiązałem z klasą, która obsłuży
uniwersalnie wszelkie pola z datami - coś co dzisiaj w wersji a'2007+ jest
już wbudowane :)

Dlatego naprawdę pakowanie się w Microsoft-OCX jest zbędne!
Problem nie polega na samym wykorzystaniu OCX'a ale na różnych jego wersjach
na różnych komputerach (versioning).
Ale jak ktoś uważa, że ryzyko jest niewielkie i mu nie przeszkadza...
Używać! czemu nie?

--
KN
Maciej Tokarz
2011-08-17 22:52:21 UTC
Permalink
Post by Krzysztof Naworyta
Wszystko fajnie się używa na użytek własny :)
Jak zacznie się dystrybucja, to zaczynają się schody.
I cóż z tego, że u 990 klientów działa, jeśli u pozostałych dziesięciu muszę
tracić czas na obchodzenie problemu, mierząc się z ich niezadowoleniem i
znosząc kąśliwe uwagi ;)
U mnie funkcjonuje na około trzydziestu komputerach z XP, Vistą, Seven i
działa - oby jak najdłużej! (Pod RT2007)
Post by Krzysztof Naworyta
Po inne przykłady z naszego rodzimego podwórka zapraszam na
Wierz mi, przeglądnąłem sporo rozwiązań... Te podane przez Ciebie
przykłady również!
Post by Krzysztof Naworyta
Problem nie polega na samym wykorzystaniu OCX'a ale na różnych jego wersjach
na różnych komputerach (versioning).
Nie miałem problemów - może dlatego się nie zniechęciłem :-)
Post by Krzysztof Naworyta
Ale jak ktoś uważa, że ryzyko jest niewielkie i mu nie przeszkadza...
Używać! czemu nie?
Można "okiełznać" te ocx mimo ich chimeryczności. Wybór jest kwestią
indywidualną tak sądzę.
--
Maciej Tokarz
http://my-poi.pl
mysz leśna
2011-08-18 16:41:16 UTC
Permalink
Mam takie pytanie. Czy plik MSCOMCTL.OCX jest w Windows na których
nigdy nie był instalowany Office ? Tzn. czy jest on standardową
biblioteką, czy też przychodzi razem np. z Office ?
Krzysztof Naworyta
2011-08-18 18:24:50 UTC
Permalink
Post by mysz leśna
Mam takie pytanie. Czy plik MSCOMCTL.OCX jest w Windows na których
nigdy nie był instalowany Office ? Tzn. czy jest on standardową
biblioteką, czy też przychodzi razem np. z Office ?
Z office to chyba nie ma nic wspólnego. Jest to kontrolka VB.6 (lub VB.5) i
rozprowadzana z Visual Studio tamtych wersji. Jeśli kontrolka nie przyszła z
jakimś programem, który z niej korzysta, to nie musi jej być.
Czy Office z niej korzysta? Nie wiem. Warto by sprawdzić gołą instalację
Windows.

Ale IMHO jeśli chcesz z tej kontrolki korzystać, to powinieneś rozprowadzać
instalkę, która będzie najświeższą wersję tej kontrolki zawierać, kopiować
do systemu i instalować.
Access Developer Pack pozwala na tworzenie takiego rodzaju instalek.

--
KN
mysz leśna
2011-08-18 19:16:38 UTC
Permalink
Post by Krzysztof Naworyta
Ale IMHO jeśli chcesz z tej kontrolki korzystać, to powinieneś rozprowadzać
instalkę, która będzie najświeższą wersję tej kontrolki zawierać, kopiować
do systemu i instalować.
Access Developer Pack pozwala na tworzenie takiego rodzaju instalek.
Tyle że akurat ja ma Office 2002, więc tworzenie instalki odpada.
Szkoda, bo ActiveX byłyby najlepsze. A wstawiania komuś pliku,
rejestrowania i dodawania do referncji przy pomocy VBA może lepiej nie
ryzykować. Więc ProgressBar jest już zamieniona na zwykłe Boxy, z
których jeden zmienia długość, a obrazki z ImageList na Long Binary
Data (BLOB) trzymane w polach OLE i stamtąd wstawiane do .PictureData
kontrolek Image, a nie z Image List przy pomocy takiej funkcji
Lebansa. Niestety tabela z obrazkami OLE Long Binary Data zwiększyła
znacząco rozmiary pliku, bo w przeciwieństwie do tych w ImageList są
chyba zdekompresowane. To takie obleśne ikonki na formularz w dość
dużej ilości, których może lepiej nie byłoby pobierać z dysku - ze
względu na katowanie go oraz prędkość działania. Jeszcze tylko po tej
przeróbce trzeba będzie trochę przyjrzeć się tej bazie.
mysz leśna
2011-08-18 20:16:44 UTC
Permalink
Post by Krzysztof Naworyta
Z office to chyba nie ma nic wspólnego. Jest to kontrolka VB.6 (lub VB.5) i
rozprowadzana z Visual Studio tamtych wersji. Jeśli kontrolka nie przyszła z
jakimś programem, który z niej korzysta, to nie musi jej być.
Czy Office z niej korzysta? Nie wiem. Warto by sprawdzić gołą instalację
Windows.
To tragiczna wiadomość.
Na CD z Office XP (jeszcze SP1) w katalogu D:\I386 jest około 20
plików .OC_, ale nie ma ukurat
MSCOMCTL.OC_,
MSCOMCTL2.OC_ i
COMDLG32.OC_.
Jedynie w katalogu D:\SUPPORT\TOOLS\SUPPORT.CAB są
comctl32.ocx,
comdlg32
ale to nie to. Więc przynajmniej w SP1 tego nie było.

W OfficeXP(2002) jest około 30 plików OCX w paru katalogach, w
katalogu D:\OFFICE1.CAB są:
MSCAL.OCX wycofany w Office 2010 i
MSCOMCTL.OCX !!!
nie ma zupełnie
MSCOMCTL2.OCX i
COMDLG32.OCX.

W tej konkretnej bazie Common Dialog Box w najważniejszym miejscu jest
pobierany przy pomocy API, ale w paru innych dla ułatwienia z
COMDLG32.OCX ... Więc to chyba też jest to wymiany.

Chociaż może te pliki przyszły też z jakimiś kolejnymi SP lub
demonstracyjnymi wersjami Office, nie tylko z Visual Studio ...
i***@googlemail.com
2014-04-22 20:40:30 UTC
Permalink
Post by mysz leśna
na liście ActiveX wymieniony jest dwa razy, niektóre inne kontrolki
nawet trzy razy. Chociaż większość raz.
Wyrejestrowanie i zarejestrowanie ponowne nie pomaga, również
przeinstalowanie całego Office'a (2002, XP).
There was an error loading an ActiveX control on one of your forms or
reports.
Make sure all the controls that you are using are properly registered.
For information on registering ActiveX controls, click Help.
podczas importu formularzy z DTPickerem do nowego pliku, również po
najechaniu myszą na DTPickera w niektórych formularzach pojawia się
komunikat z informacją, że nie może załadować prawidłowo ActiveX
(chociaż DTPicker działa).
Coś zmieniło ię w komputerze. Nie wiem tylko czy to ja (w co wątpię)
czy jakieś aktualizacje.
DatePicker (sp6) jest błędnie napisany - działa chimerycznie. Najgorsze jest to, że takie działanie pojawia się niespodziewanie. Można napisać aplikacja, która potem nagle przestaje działać prawidłowo.
Np. do przypisania wartości musi uzyskać focus, żadne inne formanty dla .value nie muszą. Wystarczy ze jeden obiekt z klasy dostanie focus (co jest dziwne, bo dlaczego jeden?). Jednak po uzyskaniu focusu typem danych DatePicker jest varchar i nie stety nie ma to nic wspólnego z datą..
Loading...