追加された行はこの色です。削除された行はこの色です。Framework」のソフトを作るDelphi2006ユーザーが増えてくれること願いつつ、私が試行錯誤している事をここに書いていきます。ただいま&color(blue){''「コンポ同士の繋がりが消える」という致命的なバグ''};により試行錯誤を休止中です(泣)。[#tacd5f2e]-作った理由~カメラの設定で撮った写真を直接MiniSDに保存する事も出来ますが、それをやると撮る度にちょっと長い待ち時間が発生します。~そのため私は本体(「マイピクチャー」フォルダ)に入れるように設定していました。~ですが、それだとある程度枚数を撮ると本体の容量が溢れてしまうので、その度に手動でMiniSDに写真を移動する事になります。~それがまた面倒臭い...というわけで、今回このようなソフトを作ってみました。~-使い方と特徴~[写真をMiniSDに移動]ボタンを押すか、テンキの左上[-]又は、右上[-]ボタンを押すと、マイピクチャーにある写真と動画を、MiniSDに移動します。(2)さらにその中に年月日のフォルダを作り、振り分けてファイルを移動します。レジストリをいじって、MiniSDのフォルダが「MiniSDカード」になっていない場合も自動的に認識しますので安心して下さい。先にしときましょう、そうしないと以後に入れる事になるビルドヘルパーが誤動作します。[#x874fd78]#ref(cfmh_option1.jpg)ここは特に問題なし。含まれるすべてのファイルを解凍してバッチを実行するのだが、見事にファイル名が違っていて&color(red){''失敗!!''};仕方ないので&color(blue){''「ConvertGAC.bat」を使う方法を行う。CEエミュレータなるものがあって、それが使えるらしいんだけどいまいちピンとこない。設定で「ActiveSync」選んでおけば実機(W-ZERO3[es])の直下にコピーされて勝手に動くから、これでいいかな。Frameworkで使えないコンポーネントを貼ったり、使えないプロパティを設定したりするとたちどころに不安定。Delphiの再起動で直ったり、Windowsの再起動しないと直らなかったり、わけわからんのです。ピクチャ\」フォルダには「img227.jpg」「img228.jpg」「img229.jpg」のファイルがあるのですが、ListBoxに表示された内容はなんと「g227.jpg」「g228.jpg」「g229.jpg」となぜか前2バイトが抜けたものが並びます。調べていくと、さらに内部の関数「FildFirstFile」まで同じくファイル名の頭2バイトが無い状態で取り出されてしまう模様。結局、.NETライブラリである「Directory.GetFiles」関数を使って解決しました。1.0」ではレジストリはAPI使わないと駄目らしい。2.0」はクラスあるのに~...って愚痴っても仕方ないので、どれをUSESすればAPI使えるか調べる。Files\Borland\BDS\4.0\lib\cf」のファイルを見て、カンで「Borland.VclCF.Windows」をUSESに入れる。一応コンパイルは通るけど、正しいっていう根拠がどこにも無いのが恐ろしい...。やりたい事は「HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory」の「Folder」キーの文字列を取りたいだけなのだが...値は「miniSDカード」と返ってくるはず。ところが、返ってくる文字列がしこたまおかしい!!1バイトごとに途中でNULLが入ってる文字列になってる。調べるとこういう場合は「PlatformStringOf関数」を通さないと駄目らしい。end;以上でなんとかメッセージボックスで表示するサンプルコードが完成しました。Framework用じゃないですが、APIによるレジストリの取得方法の参考にしたページです。「ToolBar」を使うのは罠で、これだとボタン名が付けられません。「MainMenu」を使うのが正解、ただし他のオブジェクトを移動したりすると「MainManu」に繋がっているはずの「MenuItem」郡のリンクが全て外れてしまう(InitializeComponentからその記述が消える)という現象が起きる為、その部分だけ自分で書いておく必要がある。作った「MenuItem」は「MainMenu」でメニューを登録する度に無尽蔵に増えていくため、いつのまにやら余計なMenuItemを作っている可能性がある。以下のように「MenuItem」が増えていくため、いらない「MenuItem」はコード上から手作業で削除する必要がある。パネルの上にボタンとか置いたりしても、いつのまにか外れます。置いた直後はInitializeComponentにその記述はあるんですけどねぇ...他のオブジェクトを移動したりするだけでその記述だけ消えるんですよね。このバグがある限りは、もうデザインがマウスでぱぱっと出来ないことを意味するので、ちょっとやってられません(泣)致命的です。Frameworkを作る試みはここで一時休止しようと思います。Frameworkフル対応を期待して...。FindFirstで頭2文字が消える件。その昔、C系の文字列はゼロ終端、Pascal系の文字列は頭2バイトに字数が入り終端記号は無し、という約束事があったのを思い出しました。