ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


第173回 マウスホイールによるレコード間移動を無効にする

2022/08/01 3:26 に Masanobu Tanda が投稿   [ 2022/08/01 3:27 に更新しました ]

2022年7月31日

 マウスに搭載された「マウスホイール」はたいへん便利な機能である反面、Magic の画面を操作するうえでは現場のオペレータの人々にとって不可解な動きであると感じられる場面も出てきます。

 うかつにマウスホイールを回してしまったがために、フォーカスがカレントレコードから移動してしまい、編集中のデータが意図しないタイミングで保存されてしまってパニックに陥るということがまれに発生します。

 実際のところ、プログラムの開発現場では Magic 上でこのマウスホイールの動きを禁止することができないだろうかという要求がよく出るのですが、マウスホイールのイベントを直接取得する方法はこれまでのところ、まだ用意されておりません。

 そこで今回は、このマウスホイールのイベントの代わりになるものを取得し、状況に応じてそれを有効にしたり無効にしたりするテクニックについて解説してまいります(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第173回(2022年7月31日号)目次

1 プログラム実行時の例
2 「登録:No」の問題点
3 空白イベントの登録
4 F4 キーの操作は有効
5 Page Down キーの操作も有効
6 なぜそのような動きになるのか
7 イベント特性にその仕組みが
8 F4 キーと Page Down キーのイベント
9 個々のタスクでの設定は不要
10 ラインモード時での副作用
11 ラインモード時の対処法
12 定義式の意味
13 ラインモード時の動作確認
14 スクロールバー使用時の注意点

第172回 印刷プログラムで出力先を PDF にする(2)

2022/07/04 0:52 に Masanobu Tanda が投稿   [ 2022/07/04 0:54 に更新しました ]

2022年6月30日

 前回は、「印刷プログラムで出力先を PDF にする」と題して、オンラインタスクでの利用法を解説しました。今回は、これをリッチクライアントタスクで利用する方法について解説してまいります。

 リッチクライアントタスクでは、PDF 出力先のパスの指定がポイントとなり、これを Windows の物理パスで記述するのではなく、IIS のエイリアスで指定する必要があります。

 それにともない、動作環境を Magic の開発版から Magic の RIA サーバ版へ移行する際の論理名の設定も合わせて解説してまいります。

 まずは、前号で作成したオンラインタスクのプログラムをすべてリッチクライアント化して実行したときの画面の紹介からです(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第172回(2022年6月30日号)目次

1 リッチクライアント化して実行
2 PDF の表示形式もリッチクライアント化
3 Windows の印刷ダイアログも表示
4 バッチタスクの修正
5 RIAサーバで稼働させるときの論理名
6 プロジェクトフォルダを指定する場合
7 物理パスからURLに
8 データビューにおけるダミー変数
9 デフォルトはモーダル表示
10 ウィンドウタイプの変更
11 リッチクライアントを MDI 化
12 プロジェクトの実行タイプ

第171回 印刷プログラムで出力先を PDF にする

2022/05/29 22:42 に Masanobu Tanda が投稿   [ 2022/05/29 22:44 に更新しました ]

2022年5月31日

 今回は、Magic の印刷プログラムにおいて、印刷出力をプリンタに対して行うのではなく、PDF ファイルに対して行う手法について解説します。PDF ファイルに出力すれば、印刷データをプレビューしたうえでプリンタに印刷したり、メールとして送信したりすることもできるようになります。

 近年、Windows のバージョンアップにともない、Windows10 または Windows Server 2016 以降において、Windows 自体が印刷データを PDF ファイルとして出力することが可能となりました。

 これにより、Magic の印刷プログラムにおいても、出力先を直接、PDF に指定することが可能となりました。この機能を利用すれば、オンラインタスクとリッチクライアントタスクの両方において、PDF によるプレビューとプリンタへの印刷が簡単に行えることになります。

 本連載では2回に渡って、オンラインタスクでの利用法とリッチクライアントタスクでの利用法について解説してまいります。

 ※オンラインタスクでは、Magic xpa 3.3 より、リッチクライアントタスク同様、Magic のフォーム内に PDF ファイルを表示することが可能となりました。

 まずは、オンラインタスクのサンプルプログラムからご覧いただきます(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第171回(2022年5月31日号)目次

1 オンラインタスクのサンプル
2 プリンタテーブルの設定
3 サンプルプログラムの構造
4 ルートタスクの定義
5 PDF 出力イベントの設定
6 イベントハンドラの設定
7 PDF 出力のロジック
8 入出力ファイルの設定
9 出力先の式の定義
10 PDF 表示のデータビューとロジック
11 フォームの定義
12 フォーム表示の式の定義
13 PDF 標準ツールバーの表示
14 高負荷実行への対応

第170回 Magic SQL の驚異的な検索能力

2022/05/05 2:05 に Masanobu Tanda が投稿   [ 2022/05/05 2:05 に更新しました ]

2022年4月30日

 今回は、Magic の検索スピードに関する話題です。本連載の第38回(2011年4月)~第40回(2011年6月)で、「SQL Where 句の書き方」と題して Magic SQL に関して少し触れましたが、当時はまだ SQL が今ほど普及しておらず、SQL を使用するメリットについても知る機会が少なかったのですが、あれから11年の歳月が流れ、今や SQL なしの業務アプリは考えられない程まで業界が成長してきました。

 とはいえ、Magic 開発者にとっては SQL コマンドを駆使してプログラムを書くにはまだまだハードルが高いという感があります。そこで今回は、プログラム内に SQL コマンドを全く記述することなく、SQL が持つ検索能力をフルに味わえるようなプログラムの作り方を皆さんとご一緒に学んでまいりたいと思います。SQL コマンドの知識は一切、必要ありません。

 画面1は日本郵便株式会社が公開している全国郵便番号帳データをもとに、SQL 以前の作法で作成した Magic の検索プログラムです。12万3千件の住所レコードの中から、3つの文字列を含むものを検索して抽出するというプログラムです。文字列が部分一致するものを探し出すという検索ですので、先頭一致を目的としたインデックスは使用することができません。つまり、12万3千件のレコードをインデックス無しで全件検索して、該当データを探し出すという動きになります(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第170回(2022年4月30日号)目次

1 12万3千件のレコードで検索テスト
2 3つの複合検索文字列を指定
3 検索結果の表示までに9秒掛かった
4 11年前のスペックでは52秒掛かった
5 Magic SQL を使用した場合の検証
6 検索結果の表示までにわずか1秒
7 いったいどこが違うのか
8 使用している関数はまったく同じ
9 その答えは Magic のヘルプに
10 SQL ゲートウェイの判別は自動
11 Magic のロギングでこれを確認
12 12万3千件のフェッチと8件のフェッチ

第169回 iPhone の UDID とデバイスの追加登録

2022/04/09 1:28 に Masanobu Tanda が投稿   [ 2022/04/09 6:15 に更新しました ]

2022年3月31日

 新しい iPhone を購入したら、マジッシャンならまず何はさておき、最初に行うべきことは Apple 開発者サイトへの UDID の登録です。これを怠ると、iPhone を買い換えた途端に Xcode 上でケーブル接続のビルドができなくなるという事態に陥ります。

 エラーメッセージは「Unable to install(インストールできません)」と出るだけなので、いったい何が原因なのか、判断に窮してしまいます(画面1)。

 実はこの場合のエラーは、単に新品の iPhone が Ad Hoc インストール用にデバイス登録されていないというだけの理由によるものです。このデバイス登録という作業は新しい iPhone に対して最初に1回だけ行う作業であるため、つい見過ごしてしまいがちです(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第169回(2022年3月31日号)目次

1 Unable to install のエラー
2 デバイスの自動登録画面
3 デバイス登録の目的と理念
4 UDID を取得する方法
5 UDID を Xcode から取得する方法
6 UDID を Finder から取得する方法
7 UDID の登録先
8 デバイスの登録
9 デバイス名と UDID の入力
10 登録内容の確認
11 Xcode からのビルド確認

第168回 Settings Bundle の活用法

2022/03/02 2:35 に Masanobu Tanda が投稿   [ 2022/03/02 2:35 に更新しました ]

2022年2月28日

 今回は、Magic に添付されている iOS プロジェクトの中から、カスタマイズ可能なオプションの1つである「Settings Bundle」の使い方について解説します。この機能を利用すると、iPhone 上のアプリアイコン1つで複数のアプリケーションを切り替えて操作できるという便利な機能が導入されます。開発者にとってもエンドユーザにとっても便利な機能ですので、ぜひご活用ください(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第168回(2022年2月28日号)目次

1 2021年10月31日号の app 実行画面
2 アクセス先 URL の手入力
3 Magic アプリケーションの実行
4 App Store 提供の汎用クライアント
5 接続先の項目
6 PROJECT_TARGET の設定画面
7 第164回でロードした iOS プロジェクト
8 iOS フォルダの内容確認
9 Settings bundle の導入
10 物理コピーの確認
11 Settings フォルダの追加確認
12 Root フォルダの内容確認
13 app の上書きインストール
14 app の再実行確認
15 PROJECT_TARGET の設定画面

第167回 macOS の Finder による配布と OTA による配布法

2022/02/02 2:55 に Masanobu Tanda が投稿   [ 2022/02/02 2:56 に更新しました ]

2022年1月31日

 前号では、Xcode の Archive を用いて iOS デバイスへのインストーラである .ipa ファイルを生成するところまでの手順を学びました。今回は、その .ipa ファイルを用いて、カスタマイズされた Magic クライアントを手元の iPhone にインストールするところまでの手順を学びます。

 インストール方法はいくつか用意されていますが、ここでは macOS の Finder によるインストール法と Web サーバを経由した OTA(Over-the-Air)によるインストール法の2通りを学びます。前者は iPhone を USB ケーブルで Mac に接続してインストールする方法であり、後者は Web ブラウザ上から Web サーバのリンクをクリックしてインストールする方法です。

 ちなみに、前者は iOS デバイスの台数が少ない場合に最も手軽なインストール法として利用されており、後者は数多い iOS デバイスに対して、ユーザごとに個別にインストールしてもらう方法として向いています。

 では順を追って解説してまいりましょう(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第167回(2022年1月31日号)目次

1 PROJECT_TARGET.ipa の所在確認
2 iPhone を USB ケーブルで接続
3 デバイスの詳細を表示
4 ファイルのドラッグ&ドロップ
5 app インストールの開始
6 app インストールの完了
7 クライアントアプリの起動
8 開始プログラムの実行
9 iPhone の接続解除
10 OTA による配布
11 3つのファイルの確認
12 Web サーバへの配置
13 manifest.plist の編集
14 install.htm の編集
15 iPhone からのインストール開始
16 インストール用のリンク
17 インストールの開始
18 インストールの完了
19 開始プログラムの実行

第166回 Archive による iOS インストーラの作成

2022/01/05 0:08 に Masanobu Tanda が投稿   [ 2022/01/05 0:13 に更新しました ]

2021年12月31日

 前号では、Magic xpa 付属のインタフェースビルダを用いて、カスタマイズされた Xcode プロジェクトを自動生成するところまでを学びました。今回はその続きとして、自動生成された Xcode プロジェクトをまるごと macOS 側にコピーし、iOS 用 Magic クライアントのビルド作業を行うところまでの手順を学びます。

 まず、前号の最終画面で表示された iOS フォルダを、USB メモリ、あるいはネットワーク共有フォルダ等を通じて macOS 側の任意のフォルダ、ここでは例として「書類¥Magic47¥FruitShop」にコピーします。

 そして、そのフォルダの直下に「¥build¥MagicApp.xcodeproj」ファイル(実態はフォルダ)があることを確認し、これをダブルクリックしてこのプロジェクトを Xcode 上に読み込みます。

 ※Xcode13 があらかじめインストールされている必要があります(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第166回(2021年12月31日号)目次

1 iOS フォルダのコピー
2 Xcode の起動
3 General タブの表示
4 Display Name と Bundle ID の入力
5 プロビジョニングプロファイルの選択
6 アーカイブ用デバイスの選択
7 アーカイブの実行
8 アーカイブ準備のゲージ
9 キーチェーンアクセス用のパスワード
10 アプリの配布
11 アプリ配布方法の選択
12 配布のオプション
13 プロビジョニングプロファイルの選択
14 アーカイブの実行
15 アーカイブの完了
16 アーカイブの保存
17 アーカイブリストを閉じる
18 .ipa ファイルの確認

第165回 インタフェースビルダによるカスタムプロジェクトの生成

2021/11/25 4:30 に Masanobu Tanda が投稿   [ 2021/11/25 4:30 に更新しました ]

2021年11月30日

 前号では、Magic xpa 4.7.1に添付された iOS プロジェクトをデフォルトのままコピーし、それを Xcode のシミュレータ上で実行させる方法、ならびに手持ちの iPhone をケーブル接続して iPhone 実機上でこれを実行させる方法について学びました。

 今回はさらに一歩進んで、Magic xpa にウィザードとして添付されている「インタフェースビルダ」を用いて、この iOS プロジェクトをカスタマイズする手法について学んでいきます。同時に、ウィザードの過程で必要とされるプロビジョニングプロファイルの作成法についても学びます。

 はじめに、プロビジョニングプロファイルの作成からです。プロビジョニングプロファイルとは、Apple 製のデバイス上で動作するアプリに対して署名を行うためにその内容を定義したもので、通常、Apple の Web サイト上にある開発者用のアカウントページでこれを作成します。Magic のインタフェースビルダを用いて iOS プロジェクトを生成する場合は、必ずこのプロファイルの作成が必要となります。

 では手順にそって、このプロビジョニングプロファイルを作成していくことにしましょう(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第165回(2021年11月30日号)目次

1 Apple 社の公式サイトを開く
2 開発者アカウントページの表示
3 App ID の登録
4 Description と BundleID の取り決め
5 プロビジョンニングプロファイルの作成
6 カテゴリーの選択
7 配布証明書の適用
8 インストールデバイスの適用
9 プロファイル名の登録
10 プロビジョンニングプロファイルのダウンロード
11 インタフェースビルダの起動
12 タイトルと発行元名称の定義
13 アクセス先サーバの指定
14 開始プログラムの指定
15 インストール先 OS の指定
16 アプリケーション ID の指定
17 開発名の指定
18 プロビジョンニングプロファイルの選択
19 生成された iOS フォルダの確認
20 Media.xcassets のコピー

第164回 macOS Big Sur+Xcode13+iOS15 の環境でビルドする

2021/11/04 7:02 に Masanobu Tanda が投稿   [ 2021/11/04 7:07 に更新しました ]

2021年10月31日

 「Mac OS X 以来、最大のアップグレード」と謳われた macOS Big Sur のリリースから約1年が経過し、先ごろ9月21日には iOS も最新版の iOS15 がリリースされました。それにともない、Xcode も最新版の Xcode13 がリリースされたわけなのですが、果たしてこれら最新の環境で Magic xpa 4.7.1 添付の iOS プロジェクトが問題なく動作するのであろうかという点が我々マジッシャンの最大の関心事となりました。

 そこで今回は、iOS プロジェクトに関する既存の記事を最新版にアップデートすべく、「macOS Big Sur + Xcode13 + iOS15 の環境でビルドする」と題して、Magic xpa 4.7.1 に添付されたiOSプロジェクトの動作検証を徹底的に行っていきたいと思います。

 あわせて、大幅にリニューアルされた Apple 社のデベロッパーアカウントサイトの操作法の解説もまじえて、プロビジョンニングプロファイルの生成法も再度、確認して参りたいと思います(後略)。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第164回(2021年10月31日号)目次

1 iOS プロジェクトの所在
2 macOS 側にコピー
3 Xcode プロジェクトの実行
4 General タブの表示
5 iPhone シミュレータでの実行
6 ビルドの開始
7 シミュレータの表示
8 シミュレータ上での Magic 起動
9 URL 入力の画面
10 シミュレータ上でのアプリアイコン
11 iPad タブレット上での表示
12 iPhone 実機での動作確認
13 最初はビルドエラー
14 エラー内容の確認
15 自動署名の設定
16 iPhone 実機へのインストール
17 通知の許可
18 URL 入力画面の確認
19 アプリアイコンの確認
20 iPhone 実機のデバイス登録

1-10 of 173