PDAclub.pl - Forum użytkowników technologii mobilnych

Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: zoh w Październik 15, 2009, 11:46:22

Tytuł: Lazarus + WinCE + HTC (VGA)
Wiadomość wysłana przez: zoh w Październik 15, 2009, 11:46:22
Witam

przeczytałem już cały internet i nic nie znalazłem, Pan Google też niewiele wie w tej materii.

Mianowicie: jak zmusić środowisko do kompilowania aplikacji w rozdzielczości innej niż QVGA
Mam HTC Touch Pro (480x640) i niestety ciągle Form'a wychodzi w rozdziałce 240x320

Ktoś to już przerabiał??

pozdrawiam i dzięki za wszelkie info
Tytuł: Odp: Lazarus + WinCE + HTC (VGA)
Wiadomość wysłana przez: kubaf w Październik 21, 2009, 09:57:00
Pytanie co to znaczy wg. ciebie kompilowanie aplikacji pod daną rozdzielczość? Bo takie pojęcie jako tako nie istnieje, tak jakbyś próbował kompilować aplikację desktopową pod rozdzielczość np 800x600; co jest niemożliwe.

Pewnie chodzi ci o rozmiar okienka designera. Jeżeli nie masz załadowanego odpowiedniego skina to na szybko można to zrobić tak, że:
- ustaw FormFactor na Windows Mobile 6 Professional
- ustaw Skin na false
- zmień Size na 480; 696 (to jest 800 - górny pasek i menu)

Pamiętaj tylko, że te zabiegi są zbędne; możesz spokojnie tworzyć w normalnym skinie (240x320) a środowisko uruchomieniowe i tak dobrze ci przeskaluje, no chyba że coś spaprzesz :)
Tytuł: Odp: Lazarus + WinCE + HTC (VGA)
Wiadomość wysłana przez: zoh w Styczeń 06, 2010, 15:58:57
odpowiedź na moje pytanie powyżej udzielona na innym forum:

http://www.lazarus.freepascal.org/index.php/topic,7668.0.html (http://www.lazarus.freepascal.org/index.php/topic,7668.0.html)

Cytuj
Windows Mobile runs all software in 240x320 emulation mode by default. This is a backward compatibility thing. You need to add a resource to your EXE to allow it to run with the actual screen size.

Try this, make "hiresaware.rc" with notepad, and paste this into it:
Code:

HI_RES_AWARE CEUX DISCARDABLE
BEGIN
  0x0001
END


Next, compile it into a .res:

Code:

arm-wince-windres -ihiresaware.rc -ohiresaware.res


(if you have one of the arm-wince packages that does not come with arm-wince-windres, just use windres instead - that also works)

Now you have "hiresaware.res", now you still need to include it. Open your project, and in your main unit, put:

Code:

{$r hiresaware.res}


I usually put it right below the "uses" clauses in the "implementation" section.

Now, build the program (compile is not enough when you add/change res files!) et voila. The program is running on whatever resolution the device has.

dziękuje za uwagę :D
Tytuł: Odp: Lazarus + WinCE + HTC (VGA)
Wiadomość wysłana przez: Mortus w Styczeń 07, 2010, 15:46:56
przetłumaczyłem to mniej więcej coś takiego mi wyszło :P

windows mobile standardowo uruchamia wszystkie aplikacje w emulowanym trybie 240x320 który służy kompatybilności wstecznej musisz dodać plik "resource" do twojego EXE aby pozwolił na uruchamianie z aktualną wielkością ekranu.

spróbuj tego:
zrób plik "hiresaware.rc" notatnikiem i wklej w niego:
HI_RES_AWARE CEUX DISCARDABLE
BEGIN
  0x0001
END

następnie skompiluj plik do rozszerzenia .res

arm-wince-windres -ihiresaware.rc -ohiresaware.res (zupełnie nie rozumiem o co tu chodzi)

(jeśli masz jedną z paczek arm-wince która nie była dołączona do arm-wince-windres wtedy tylko użyj windres - to też działa) (mogłem coś źle przetłumaczyć ! :P)

masz teraz plik "hiresaware.res" teraz musisz go dołączyć otwórz projekt i w głównym pliku kodu źródłowego (np. main.cpp itp.) dodaj
{$r hiresaware.res}

I usually put it right below the "uses" clauses in the "implementation" section. (tego nie tłumaczyłem nie dokładnie to rozumiem)

teraz przebuduj program (rebuild) (zwykła kompilacja nie wystarcz by dodać/zmienić pliki res!) program działa w rozdzielczości jaką ma urządzenie





nie należy kierować się zbytnio tym tłumaczeniem gdyż mogą być w nim błędy itp.