Lazarus + WinCE + HTC (VGA)

  • 3 Odpowiedzi
  • 3084 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline zoh

  • 4
Lazarus + WinCE + HTC (VGA)
« dnia: 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

*

Offline kubaf

  • 7
  • Płeć: Mężczyzna
  • Sprzęt: HTC Touch Pro2, HTC Hero, HP iPAQ 614c
Odp: Lazarus + WinCE + HTC (VGA)
« Odpowiedź #1 dnia: 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 :)

*

Offline zoh

  • 4
Odp: Lazarus + WinCE + HTC (VGA)
« Odpowiedź #2 dnia: 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

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

*

Offline Mortus

  • 32
  • Płeć: Mężczyzna
  • Sprzęt: Lumia 1520
Odp: Lazarus + WinCE + HTC (VGA)
« Odpowiedź #3 dnia: 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.

« Ostatnia zmiana: Styczeń 07, 2010, 15:49:39 wysłana przez Mortus »