Komponent

0

Podczas instalaci komponentu "enhcbox" w linijce:
State := TOwnerDrawState(byte(LongRec(itemState).Lo));
występuje błąd:
[Error] Enhcbox.pas(931): Invalid typecast
Może ktoś wie jak to zlikwidować? (jak wykasowałem tą linijke to wszystko się skompilowało, ale nie sprawdzałem jak działa)

0

na pewno ten Komponent nie odpowiada versji, czyli był napisany w D5 a instalujesz go na D6.
Często się tak zdaża, że przy instalowaniu się coć wysypuje.
Przyczyna tego to różne versje modułów, które posiadają, odmienne zmienne dla różnych wersji.
Lub nawet braki funkcji, które istniały w wersji poprzedniej.
Natomiast gdy wykasujesz coś i rusza dalej instalka, na pewno czegoś zabraknie.
Nie jestem w stanie powiedzieć czego na podstawie wyrwanej linii kodu.
Z regóły możesz liczyć na 99% że komponent będzie działał, w Twojej aplikacji.
Jednak radzę go dobrze przetestować bo to coć to 1%.
Pozdrowienia dla całego FORUM. --Marco_99

0

Rekord LongRec pozwala rozdzielic wartosc 4-bajtowa na skladowe (bajty lub slowa):

type
LongRec = packedrecord
case Integer of
0: (Lo, Hi: Word);
1: (Words: array [0..1] of Word);
2: (Bytes: array [0..3] of Byte);

end;

ItemState musi byc wiec wartoscia 4-bajtowa - a zapewne nia nie jest. Tak przynajmniej przypuszczam
:-)--Pawel

Delphi6

1 użytkowników online, w tym zalogowanych: 0, gości: 1