Aide - Recherche - Membres - Calendrier
Version complète : DIA sur PalmOS 6
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Corto
Est-ce-que quelqu'un a déjà géré le DIA sur PalmOS6???
Il semble que les applis 68K écrit avec le SDK 5.4 et gérant le DIA, ont du mal à fonctionner sur PalmOS 6.
Est-ce-que vous connaissez des applis ceritfiées pour OS6 et qui gèrent le DIA?
Patrice
Quels genres de problème ? En mode 68k ou en mode "Cobalt" ?

J'ai fait des tests de quelques-uns de mes softs avec les premières versions du simulateur et je n'ai pas vu trop de problème.

En fait, j'en ai un mais parfaitement identifié : l'OS6 ne gère plus, paraît-il, les form "save behind" et en désactivant le bit tout fonctionne normalement. Sauf que dans ce cas, ça ne fonctionne plus avant PalmOS 3.5
Corto
Une appli 68K gérant le DIA (avec DiaUtils.c) a toutes les widgets hors écran. De plus l'event "winDisplayChangedEvent" n'existe plus et est remplacée par "winResizedEvent"
Guy-Lux
Il me semble bien avoir testé mon bout de code sur le simu, et tout fonctionnait. Je ré-essaye ce soir... :?
Patrice
CITATION(Corto)
Une appli 68K gérant le DIA (avec DiaUtils.c) a toutes les widgets hors écran.

Je n'utilise pas, je ne peux pas dire...

CITATION(Corto)
De plus l'event "winDisplayChangedEvent" n'existe plus et est remplacée par "winResizedEvent"

Il ne me semble pas que ce soit nouveau dans l'OS 6. En tous cas j'ai déjà la gestion de winResizedEvent (qui poste un winDisplayChangedEvent pour conserver la compatibilité avec les autres versions).
Guy-Lux
CITATION(Guy-Lux)
Il me semble bien avoir testé mon bout de code sur le simu, et tout fonctionnait. Je ré-essaye ce soir... :?

Pas de souci constaté...
Corto
Est-ce-que tu utilises DiaUtils par hasard?
Car j'ai fait plein de test et çà ne marche pas.
Si tu peux me dire l'enchainement que tu utilises, cela m'aiderait.
Guy-Lux
J'utilise le bout de prog "CollapseUtils" que PalmSource diffuse sur son site et qui permet de cibler les Palms et les Cliés à travers une API unifiée.
Corto
Et bien çà ne marche pas chez moi???????? :x
je vais refaire des tests.
Corto
Bon:
- J'ai un code source qui se compile en 68K avec le SDK 5.4.
- je le compile avec CodeWarrior, j'obtiens un prc, qui fonctionne avec le Simu 5 et le Simu 6. sourire.gif
- je le compile avec PODS (GCC), j'obtiens un prc, qui fonctionne avec le Simu 5 MAIS PAS evec le Simu 6 :x

Il semblerait que la fonction winGetDisplayExtent ne retourne pas la même chose si l'appli est compilée avec CW ou avec GCC icon_question.gif icon_question.gif icon_question.gif
CODE
frmOpenEvent:

  frmP = FrmGetActiveForm();

  WinGetDisplayExtent(&extentX, &extentY);

  FrmDrawForm(frmP);

si le DIA est fermé (juste la status bar, pas de graffiti)
avec GCC extentY = 160
avec CW extentY = 225

Comme WinGetDisplayExtent est un Trap vers une fonction de l'OS, je ne comprend pas cette différence de comportement... je continue à chercher.
Patrice
CITATION(Corto)
Comme WinGetDisplayExtent est un Trap vers une fonction de l'OS, je ne comprend pas cette différence de comportement... je continue à chercher.

Sur simulateur, je ne pense pas que ce soit des traps anim_wink.gif Ce qui ne change rien à ton problème, très étrange, en effet...

Tes variables sont bien déclarées en Coord (ce qui doit correspondre à des entiers 16 bits) ?
Corto
CITATION(Patrice)
CITATION(Corto)
Comme WinGetDisplayExtent est un Trap vers une fonction de l'OS, je ne comprend pas cette différence de comportement... je continue à chercher.

Sur simulateur, je ne pense pas que ce soit des traps anim_wink.gif Ce qui ne change rien à ton problème, très étrange, en effet...

Tes variables sont bien déclarées en Coord (ce qui doit correspondre à des entiers 16 bits) ?

Sur Simu se sont des traps, toujours en 68K. C'est pour une appli ARM ou plutot Native que le binaire change entre Simu et Device. J'en suis sûre à 100% pour les raisons que tu connais.
Corto
Je suis allé desassemblé le code de CW et de GCC, il y a bien une différence dans le passage des arguments.
Alors que GCC n'utilise que des move et des subq, CW utilise des pea. Hors je ne connais pas cette instruction (surtout que je ne connais que l'assembleur ARM et pas 68K). Vous avez une idée???
olivier101
CITATION(Corto)
Hors je ne connais pas cette instruction

Rien à voir avec le sujet, mais comme je le vois souvent....
"Hors" = "en dehors de" (hors-la-loi, hors service, ...)
"Or" = "par contre"
Voilà... vous pouvez m'engueuler sleep.gif
olivier101
PS: PEA (push effective address) est couramment utilisé pour mettre une adresse sur la pile.
snark
CITATION(olivier101)
Voilà... vous pouvez m'engueuler sleep.gif

[HS] Pourquoi t'engueuler? Tes explications valent de l'hors! icon_biggrin.gif [/HS]
Corto
J'ai trouvé, mais vous ne devrait jamais tomber dans mon cas.
L'OS 6 gère une nouvelle ressource WINDOW_CONSTRAINTS qui force les valeur Min Max et Pref de la Form et rend inutile les bout de codes pour le DIA. (Tout ceci est propre à l'OS 6 et au appli ARM).

Or (regardes Olivier c'est pour toi sourire.gif ) la présence de cette ressource dans une appli 68K gérant logiciellement le DIA, fait tout pété.

Voilà je vous écrit çà au cas où.
Patrice
CITATION(Corto)
Voilà je vous écrit çà au cas où.

Au cas où Cobalt finisse par sortir ? Il faudra s'en rappeler icon_lol2.gif icon_bla.gif

Merci anim_wink.gif
olivier101
CITATION(snark)
CITATION(olivier101)
Voilà... vous pouvez m'engueuler sleep.gif

[HS] Pourquoi t'engueuler? Tes explications valent de l'hors! icon_biggrin.gif [/HS]
icon_lol2.gif sleep.gif
Corto
CITATION(Patrice)
Au cas où Cobalt finisse par sortir ? Il faudra s'en rappeler icon_lol2.gif  :oops:

J'espère qu'il sortira car sinon on pourra dire adieu à nos petits Palm. icon_cry.gif icon_cry.gif icon_cry.gif icon_cry.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.