Mam zamiar wdrożyć 64-bitową wersję OCX napisaną w Delphi. OCX wymaga, aby stdvcl40.dll był dostępny i zarejestrowany w systemie docelowym. Według mojej wiedzy w mojej instalacji Delphi jest tylko wersja 32-bitowa, ale ponieważ dostępne są źródła, powinienem móc samodzielnie utworzyć wersję 64-bitową.Czy potrzebuję 64-bitowej wersji stdvcl40.dll?
Czy jest taka potrzeba, czy powinienem to zrobić, czy powinienem trzymać się zawartej wersji i wdrożyć tylko tę?
Edit Wystarczy dać trochę tła: StdVCL40.dll zawiera głównie biblioteki typów odsłaniając trzy interfejsy zadeklarowane w System.Win.StdVCL.pas. Późniejsze wersje tej biblioteki DLL również implementują niektóre strony właściwości obsługujące te interfejsy.
Wynikiem usunięcia zależności od stdvcl40.dll jest to, że te interfejsy (IStrings w moim przypadku) nie są już dostępne w mojej bibliotece typów, a wszelkie odniesienia są zastępowane przez IDispatch.
stdvcl40.dll nie jest pakietem czasu projektowania i musiał zostać wdrożony wraz z większością moich bibliotek ActiveX w poprzednich wersjach Delphi. Muszę go wdrożyć, ponieważ w przeciwnym razie OCX odmawia rejestracji.
Wygląda na to, że działa również z 64-bitową wersją mojego OCXa prawdopodobnie dlatego, że Windows COM jest na tyle sprytny, że nie ma wersji 64-bitowej, a zatem przyjmuje wersję 32-bitową. Chociaż nie jestem pewien, czy to jest droga. Tak więc moje pytanie.
StdVclXX.dll to redystrybucyjna biblioteka DLL wymieniona w przewodniku po wdrożeniu dla starszych wersji Delphi. Ale o ile mogę powiedzieć, nie jest już potrzebny w nowoczesnym Delphi. Przewodnik wdrażania już go nie wymienia. –
@DavidHeffernan, w zasadzie definiuje tylko niektóre interfejsy (IStrings, IProvider, IDataBroker), z których faktycznie korzystam z IStrings. Martwi mnie to, że jest automatycznie uwzględniany przy tworzeniu nowej biblioteki ActiveX - nawet w XE6. –
Być może jest to po prostu historyczne i zapomnieli usunąć go z nowego szablonu projektu. Czy próbowałeś usunąć wszelkie odwołania do stdvclxx z projektu? –