Ogłoszenie 
Prosimy o zapoznanie się z nową wersją regulaminu forum (ver 003) oraz zasadami przetwarzania danych osobowych
Regulamin oraz zasady przetwarzania w dziale REGULAMIN

Poprzedni temat «» Następny temat
Przesunięty przez: navigator
2008-07-27, 18:44
Biblioteki systemowe DLL w Windows CE
Autor Wiadomość
Luccas
GPS instruktor


Pomógł: 7 razy
Dołączył: 21 Lip 2007
Posty: 591
Wysłany: 2007-08-19, 19:38   Biblioteki systemowe DLL w Windows CE

Wprowadzenie:

System Windows oraz programy pisane pod niego korzystają z bibliotek systemowych, które umoziliwiaja uruchomiania programów, aplikacji oraz innych dobrodziejstw napisanych dla naszych platform. Bardzo często, podczas instalacji nowego softu, spotykamy sie z błędami, iz brakuje nam wymaganych plików do uruchomienia programu - zazwyczaj (a w przypadku navi/akiry opartej na Windows Ce to raczej w 85%) ponosi wine brak wymaganych bibliotek systemowych .

Co to jest biblioteka systemowa ?

Ano najprościej jest to plik o rozszerzeniu DLL, w którym są zawarte funkcje potrzebne do prawidłowego działania systemu lub oprogramowania. Brak w/w pliku(ow) powoduje problem z poprawnym dzialaniem programu, lub uniemozliwia uruchomienie go.

przyp. rozszerzenie - dla mniej zaawansowanych lub tym którym to umknęło, rozszerzenie jest to czesc nazwy pliku. Plik sklada sie z nazwy bazowej, później nastepuje kropka i po kropce mam trzy literki, zwane rozszerzeniem pliku. Za pomocą rozszerzeń plików mozna zindentyfikowac, większość z nich i ich funkcje. Tak wiec przykładowo plik: zosia.txt -> nazwa pliku: zosia, rozszerzenie: txt mowi o tym, ze jest to plik tekstowy, czyli po prostu zawiera tekst i możemy go otworzyć edytorem tekstu.

Gdzie znajdują sie biblioteki systemowe ?

1. Główne biblioteki i zazwyczaj te najważniejsze znajdują sie w katalogu /windows
(WindowsCe) Sa one aktualizowane na bieżąco przez system, aby programowanie
mogło działać.

Problem: W navi i akirze po resecie dograne biblioteki znikają, zostają wykasowane
i zostaje przywrócony "dziewiczy" stan systemu, wiec wszystko co tu dogramy
może zostać utracone

2. W folderze, gdzie został zainstalowany program. Program wykonawczy z
rozszerzeniem exe korzysta bezpośrednio z tych bibliotek szukajac ich zaraz w
swoim katalogu.

Problem: Kopiując biblioteki dla każdego programu, powielamy je niepotrzebnie,
poza tym nie mozemy byc do konca pewni jakie są potrzebne i które należy
skopowiac do odpowiednich folderów.

3. Istnieje odpowiednia modyfikacja rejestru i załadowanie wskazanych bibliotek
systemowych podczas startu systemu z dowolnego, wskazanego folderu.

Problem: W naszym wypadku nie moze to byc folder umieszczony w miejscu, ktore jest przywracane po resecie np. katalog /windows, gdyz po kazdym resecie nasz sprzet będzie nam to usuwał i cala praca pójdzie na marne. Tak wiec wykorzystamy tutaj kartę pamięci.

Opis modyfikacji systemu do wgrania dodatkowych bibliotek systemowych

Krotki opis jak bedziemy udoskonalać nas systemik aby moc korzystać z większej ilości programów (np. automapa):

No wiec zmusimy nasz system aby ładował dlle z następujących lokalizacji podczas startu:

1. \ (root) - domyslnie
2. \windows - domyslnie
3. \sdmmc\nasz_katalog - to bedzie nasz zbior bibliotek do załadowania, oczywiście nasz_katalog nazwiemy odpowiednio aby miało to ręce i nogi.
4. Katalog uruchamianej aplikacji - domyślnie

W ten sposob bedziemy mieli załadowane biblioteki domyślne systemu oraz te, ktore będziemy sobie organizować w naszym katalogu.

Co potrzebujemy (przygotowanie warsztatu pracy) ?

1. Program do edycji rejestru (znajduje sie na forum), ponizej podaje linki

Edycja rejestru spod Windows na PC (zalecamy ten bo o wiele praktyczniejszy w obsłudze)
lub
Edycja rejestru na nawigacji (a ten w podrózy jak znalazł ;-) )

2. Troche wiedzy z zakresu rejestru (informacje dostepne na forum)
3. Biblioteki systemowe (zbior do ściągnięcia znajduje sie w download i również dodaje linki poniżej)

Dodatkowe biblioteki systemowe

4. Program do rozpakowywania archiwum (PC) Mozna sciagnac z dowolnego portalu internetowego, moze byc to Zip, Rar, Ace itp. Ja korzystam z WinRara i jestem zadowolony obsługuje większość formatów, ponizej daje link do wersji shareware.


WinRar - Program do archiwizacji

5. Troche checi i 5 min wolnego czasu

Przystępujemy do działania (przechodzimy do tego punktu jeżeli przygotowaliśmy sobie wszystkie potrzebne rzeczy - patrz poprzedni punkt):

1. Rozpakowujemy na naszym PC do dowonego folderu pliki z bibiotekami ktore wczesniej sobie sciagnelismy ( Jeszcze raz tutaj )Robimy to kilkajac na plik DLL-e_dla_MIO269__do_AM_i_innych.rar (obecnie pod taka nazwa sciagamy paczke z dllami), nastepnie otwiera nam sie program do archiwizacji, i w zaleznosci od programu zazwyczaj wybieramy "wypakuj do". Po tej czynnosci w wybranym folderze na pc powinno pojawic sie kilkanascie plikow dll.

2. Podlaczamy nasza nawigacje do pc. Tworzymy nowy katalog na dysku sdmmc(karta pamieci), nazywamy go "dlls" (oczywiscie bez cudzyslowiow).

Uwaga: nazwa katalogu moze tutaj byc dowolna, lecz żeby byla logika nazywam go dlls, jeżeli ktoś to zmieni musi to również zmienić w poniższych punktach. Ja umieszczam biblioteki na karcie, większa wygoda dla mnie, natomiast aby nie znikały i nie musiałaby
być wlozna karta można je również umieścić w katalogu /flash_storage/dlls zamiast sdmmc/dlls.

3, Kopiujemy z PC z folderu gdzie umiescilismy biblioteki (patrz pkt. 1) wszystkie pliki do katalogu /sdmmc/dlls na naszej nawigacji.

Uwaga: oczywiście nawigacja musi być podłączona i używamy programu do synchronizacji ActiveSync

4. Otwieramy program do edycji rejestru i przystępujemy do następujących zmian:

W kluczu HKL (LocalMachine) tworzymy nowy klucz "Loader" (oczywiscie nie uzywamy cudzyslowiow)
Klikamy na nowo stowrzony klucz o nazwie "Loader"
Tworzymy w nim nową wartość Multi-Sz (np.w edytorze RegEdit) lub nową wartość Multitekst (np.w edytorze CeRegEdit) o nazwie "SystemPath" (znow nie wpisywać cudzyslowia)
W danych wartosci "SystemPath" wpisujemy "\sdmmc\dlls\" (nie uzywamy cudzyslowia)
Zatwierdzamy zmiany i zamykamy program do edycji rejestru
Restartujemy system (można zresetować)

Podsumowanie:

W ten sposob stworzylismy wlasny katalog z biobliotekami, ktore beda ladowane podczas kazdego startu systemu. Nowe biblioteki mozemy nadpisywac i dodawac do katalogu dlls i beda one aktualizowane podczas kazdego restartu, w ten sposob latwo i sprawnie moze roszerzac mozliwosci biednego WindowsCe. Miedzy innymi, dzieki tym biblioteka mozna uruchomic program AutoMapa, oraz spotkalem sie z niektorymi gierkami takimi jak np.
Zuma, ktore bez w/w dllow nie chcialy sie uruchomic.

Zestaw biblitek(Info):

2007.08.19 - Biblioteki podstawowe, plik: DLL-e_dla_MIO269__do_AM_i_innych.rar / waga: 1,65mb
-----> sciagnij <-----

[ Dodano: 2007-11-04, 16:27 ]
Gx.dll

-----------------------> Biblioteki - opisy / download <----------------------------------------

GX.DLL

Biblioteka gx.dll jest odpowiednikiem środowiska graficznego znanego z PC jako DirectX. Zostala ona wprowadzona wlasnie z powodu braku wsparcia dla platform mobilnych ze directx, który pozwala zarządzac w dobry sposób dynamicznym obrazem potrzebnym dla gier i nie tylko.

Gx.dll zazwyczaj rezyduje w romie, można ja znalezc katalogu /windows (urzadzenia z pelna dystrybucja win-mobile). W/w biblioteka nie zajmuje zbyut duzo miejsca ok. 10 – 25 kb, posiada jedynie podstawowe wsparcie funkcji graficznych, nie wspiera 3d.

Gx.dll i Akira / Navia

Troche ruszylismy do przodu i dzieki Gapi for HPC jestesmy w stanie obracac ekran w aplikacjach wykorzystujacych gx.dll - w wiekszosci nie musimy juz dopasowywac w/w biblioteki. Wszystko opisane jest w temacie TUTAJ .

Ponizsze wiadomosci, czyli dopasowaywanie gx.dll, zostawiam w dla potrzeb oraganizayjnych oraz testowych - wiec jezeli nie jestes tym zainteroswany mozesz to pominac.

Tworcy naszej nawigacji nie przewidzieli zastosowanie jej do celow innych niż mapamap i nie umieścili w romie biblioteki gx.dll. Z tego powodu musimy sami dopasowywac i dogrywac gx-a do aplikacji.

Wazne jest aby zrozumiec, ze niewszystkie biblioteki gx.dll sa sobie rowne, a co wiecej od czasu kiedy zaczeto odblokowywyac nawigacje, powstalo wiele odmian gx.dll. Można przeprowadzic prosty eksperment: wziasc aplikacje która wykorzystuje gx-a i podmieniac go na inne typy. Wynik będzie wrecz zadziwiające: niektóre biblioteki obruca nam ekran, inne wyswietla czesc aplikacja a inne w ogole rozmyja obraz przystosowując go do większej lub mniejszej rozdzielczości. Czyli konkluzja jest taka, ze w zasadzie nie ma uniwersalnej biblioteki gx.dll zasopkajajacej nasze potrzeby. Również należy mieć na względzie jak napisane jest oprogramowanie, bo niestety nie zawsze da się dopasowac odpowiednia biblioteke tak aby aplikacja wyświetliła się w pelni na ekranie.

Alternatywa dla gx.dll (oficjalnej wersji) jest tak zwane GAPI dostępne na stronie GAPI for HPC Niestety nie ma na liscie naszego urzadzenia do wersji 4.0. Od 4.0 powstały następujące zmiany:

4.0 - tryb emulacji
4.1 - dolozona navia oraz akira.

Navia / Akira i gx.dll w praktyce

Z powodu tego, iż nie ma w miare jednolitej biblioteki gx.dll proponuje nie umieszczac jej w katalogu ze zbiorem bibliotek. Będzie to powodowalo, iż aplikacje będą korzystac wyłącznie z tej jednej wersji zawartej w naszej biblioteczce. Najlepszym rozwiązaniem jest dogrywanie osobno do katalogu aplikacji danej wersji gx.dll i probowanie dopasowac sobie odpowiednia aby aplikacja wyświetlała się jak najlepiej i nie obcinala ekranu / wyswietla w odpowiedniej orientacji.

To co wyzej jest jest jak najbardziej prawdziwe, gdyz nawet uzywanie GAPI nie rozwiazuje problemu w 100%, tylko praktyka moze wykazac o co chodzi. Tak wiec zycze milej zabawy.

Zbior bibliotek gx.dll

Poniżej zamieszczam zbior bibliotek gx.dll, proponuje każdemu przetestowac jak to dziala i jaki ma wpływ na wyświetlanie.

Bibilioteki gx.dll (18) - 20071104


-------------------------------------------------------------------------------------------------------
Jezli ktos posiada inne wersje bibliotek, ciekawe artykuly, downloady itp na w/w temat bardzo prosze o maila lub wiadomsc na priv z linkami lub paczkami. Dzieki
Ostatnio zmieniony przez chris_m 2008-06-08, 20:05, w całości zmieniany 6 razy  
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nasi znajomi:
Strona wygenerowana w 0,18 sekundy. Zapytań do SQL: 11