• 追加された行はこの色です。
  • 削除された行はこの色です。
&tag(Palm,Program);

''[[iambic Mail:http://www.iambic.com/mail/palmos/]]'' または ''Agendus Pro Mail'' を使って、他のアプリからメールを送る方法。

#geshi(C){{
// 起動コード
 #define sysAppLaunchCmdNewEmail  sysAppLaunchCmdCustomBase + 0x0100
 // パラメータブロック
 typedef struct {
   UInt32 launchCreator; // 呼出すアプリのクリエータID
   Char toField[128];    // 宛先(メールアドレス)
 } NewEmailParamsType;
#define sysAppLaunchCmdNewEmail  sysAppLaunchCmdCustomBase + 0x0100
// パラメータブロック
typedef struct {
  UInt32 launchCreator; // 呼出すアプリのクリエータID
  Char toField[128];    // 宛先(メールアドレス)
} NewEmailParamsType;
}}

-宛先だけが入ったメール編集画面が起動。
-launchCreatorに呼出す側のクリエータIDを入れておくと、iambic Mailの処理が終わった時点で、起動コード「[[sysAppLaunchCmdNormalLaunch:http://www.palmos.com/dev/support/docs/palmos/AppLaunchCodes.html#1011390]]」で元のアプリを起動する。

サンプル
 UInt16		cardNo;
 LocalID		dbID;
 DmSearchStateType searchInfo;
 NewEmailParamsType *cmdPBP;
 
 if (DmGetNextDatabaseByTypeCreator(true, &searchInfo,
     sysFileTApplication, 'JetM', true, &cardNo, &dbID)
     != dmErrCantFind)
 {
   cmdPBP = (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType));
 
   cmdPBP->launchCreator = MyApplicationCreatorID;
   StrCopy (cmdPBP->toField, MyEmailAddressStr);
 
   if (MemPtrSetOwner(cmdPBP, 0) == errNone)
     SysUIAppSwitch (cardNo, dbID, sysAppLaunchCmdNewEmail, cmdPBP);
   else
     MemPtrFree (cmdPBP);
 }
#geshi(C,number){{
UInt16		cardNo;
LocalID		dbID;
DmSearchStateType searchInfo;
NewEmailParamsType *cmdPBP;

if (DmGetNextDatabaseByTypeCreator(true, &searchInfo,
    sysFileTApplication, 'JetM', true, &cardNo, &dbID)
    != dmErrCantFind)
{
  cmdPBP = (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType));

  cmdPBP->launchCreator = MyApplicationCreatorID;
  StrCopy (cmdPBP->toField, MyEmailAddressStr);

  if (MemPtrSetOwner(cmdPBP, 0) == errNone)
    SysUIAppSwitch (cardNo, dbID, sysAppLaunchCmdNewEmail, cmdPBP);
  else
    MemPtrFree (cmdPBP);
}
}}