Feed on Posts or Comments

Monthly ArchiveDecember 2006



Palm News khertan on 23 Dec 2006

Christmas and new year contest

This year there are two licence of kLauncher to win.

One on PalmAttitude.org.
And an other one ll be on PalmAddicts

And have a happy holiyday everyone!

Softwares khertan on 23 Dec 2006

kCrash Updated …

kCrash has just been updated to version 0.2.

It's still an alpha version, so please make a backup before try it.

I've corrected looping reset bug.

Download : kCrash 0.2

Palm Tips khertan on 22 Dec 2006

Mo:Blog

Hi,
The last post about kCrash was writted onboard with Mo:Blog.
Mo:Blog is a great tool ... But like you can see i've converted to jpg a screen take with the freeware Snap which product bmp image. But i've use TbmpEdit to convert it to jpeg, and it seem's that conversion option is bugged.

Developpment khertan on 22 Dec 2006

iziBasic and 320×480 display

In this article we'll see how to use the 320x480 display of some Palm with the standard form of iziBasic. And let user hide and or show the dynamic input area.

For this it s needed to resize the main iziBasic form.

You ll need :
- PPShell
- pp.exe pour ARM
- PalmAPI.pas (avaible with PP example)
- iziBasic
 
And you need to know how to compile with iziBasic and PP.

The PP Applet

//The applet take one parameters
// '1' -> This is the "Set" mode. The applet will hide the dynamic input area.
// '0' -> This is the "Get" mode. The applet will return the status of the DIA.

type RectangleTypePtr=^RectangleType; //We set here API that aren't define in PalmAPI.pas
FrmSetDIAPolicyAttr(form:formPtr;pol:UInt16):Err;inline($740E,SYSTRAP,$A470);
function SetDIAState(pol:UInt16):UInt16;inline($7400,SYSTRAP,$A470);
function WinSetConstraintsSize(winH:WinHandle;minH:UInt16;prefH:UInt16;maxH:UInt16; minW:UInt16;prefW:UInt16;maxW:UInt16):Err;inline($740D,SYSTRAP,$A470);
function FrmGetWindowHandle(form:formPtr):WinHandle;inline(SYSTRAP,$A17C);
function PINSetInputTriggerState(state:UInt16):Err;inline($7402,SYSTRAP,$A470);
Procedure WinSetBounds(winH:WinHandle;r:RectangleTypePtr);inline(SYSTRAP,$A300);
function GetDIAState:UInt16;inline($7401,SYSTRAP,$A470);
//Needed for iziBasic Applet
iBasFunType=function(S:string):string; var iBasCallPP:iBasFunType;   function CallPP(S:string):string;
var
//To stack current form
f:FormPtr;
//Error
error:Err;
//Version of the DIA Library
version:UInt32;
//To stack current windows
w:WinHandle;
//To stack current size of the  current windows
r:RectangleType;
//Current State of the DIA
v:UInt16; 
begin 
//We init the return variable
CallPP:='0';
//We make a test on the applet parameter S to see in which mode we are
if S='0' then begin
//We make some test to see if the DIA Library is present.
error:=FtrGet($70696E73,1,version);
if (error=0) then begin
if (version<>0) then begin 
//We get the current form f:=FrmGetActiveForm;
//We set the DIA option for the form to true
FrmSetDIAPolicyAttr(f,1);
//Now we hide the DIA
SetDIAState(1);
//We set the good value on the DIA Button
PINSetInputTriggerState(0); 
//We create a rect to resize our window.
r.topLeft.x:=0;r.topLeft.y:=0;
r.extent.x:=320;r.extent.y:=480;
//We get the current form
w:=FrmGetWindowHandle(f);
//We resize it
WinSetBounds(w,@r); 
//We define the prefered,max, and min size WinSetConstraintsSize(w,320,480,320,480,320,480);
CallPP:='1';
end;
end;
end;

if S='1' then begin  CallPP:='0';
error:=FtrGet($70696E73,1,version);
if (error=0) then begin
if (version<>0) then begin
//We get the DIA State v:=GetDIAState;
//We convert the integer to a string
StrIToA(S,v);
CallPP:=S;
end;
end; 
end;
end; 
begin
iBasCallPP:=CallPP;
end.  


So nothing difficult. Only using two function that aren't implemented in iziBasic.

The iziBasic code

So now about using our applet.

'PPTest.ibas'
DIM %DIAState%
BEGIN 
 E=HIGHRES(1)
 A$=CALLPP$(100,"0")
 REPEAT
  A$=CALLPP$(100,"1")
  A=VAL(A$)
  IF  A<>%DIAState% THEN
   REM GOSUB Our Drawing method
   %DIAState%=D
  ENDIF
  E=DOEVENTS 
 UNTIL E=-1 
END


I don't think this code need comments.

Creating full HiRes+ app with iziBasic is easy. Only  things we need is  a call to two api function that  doesn't exist in iziBasic.

Conclusion

The management of the Dynamic Input Area is very simple. By default a form doesn't support DIA. But if we set it to be compatible with a DIA, dia can be changed. So we set the form, and we set the DIA button value then we hide the dia and resize the main iziBasic Form.

Softwares khertan on 21 Dec 2006

kCrash, a small tool…

Hi,

At this time my Palm is very unstable. I've too many application in developpment that are in alpha stage and aren't yet debugged. And finding the guilty after a crash is painfull. Palm TX auto reset without warning or error displaying. DebugPref and Crash always say : 'Unknow Application'. So i've create a small tool to get the name of the application that have crashed my Palm.



If your palm reset, kCrash launch and give you the name of the application which is running the crash.
I'll try to add a feature in a near futur that display the reason of the crash.

Download kCrash v0.1

EDIT : Due to some problem on Treo 650 and T5. Doing reset in loop. I ve deleted kCrash from public download.
I ll make other test to see where problem come from.

Next Page »