1 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:37 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その50 pc12.2ch.net/test/read.cgi/tech/1246340765/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
116 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:38:12 ] えー special launchって6じゃないのかorz
117 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:45:13 ] delphi 7ください!
118 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:53:41 ] >>111 版権物のソフトだと全部のダイアログにイラスト出せとか無理言われる
119 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 19:42:35 ] >>118 その程度ならいちいちフォームを設計しなくても、CreateMessageDialogで取得したTFormのインスタンスに 動的にTImage等を作成して乗っけてやればいい むしろ全部に出さないといけないならコードでやった方が楽
120 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:45:50 ] SetLengthで確保した領域は次回SetLengthの時に勝手に解放してくれますか?
121 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 23:08:24 ] やってみれば分かるが解放される
122 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:41:37 ] >>120 ソースが見れるならSystem.pasの該当箇所を見ればSetLengthが内部では何やってるか分かる
123 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:44:31 ] ソースは読めるのにスレタイは読めないのか
124 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:20:57 ] >>121 >>122 ありがとうございます system.pas覗いてみますわ
125 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 11:29:02 ] del7で簡単なCGIを作りたくてdelを使ったCGI作成は ググって大体分かったのですが、フォームの内容を メール送信する時ってどうすればいいか、教えてください。 sendmaneとか見つけたのですが、利用制限があるので (個人使用なので引っかかることはないのですが) 出来れば制限のない方法があれば教えて欲しいです。 よろしくお願いします。
126 名前:デフォルトの名無しさん [2010/01/13(水) 11:45:51 ] 普通にindy使えばよくね?
127 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 12:05:34 ] dです。 Indyスレ行ってきます。
128 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:01:40 ] indyは正直使えない
129 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:26:35 ] わけでもない
130 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:42:18 ] 男は黙って
131 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:04:48 ] indy
132 名前:デフォルトの名無しさん [2010/01/15(金) 07:53:00 ] TIdMessageは腐っているが それ以外は、まあまあ使える
133 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 08:31:16 ] Synapse最高!
134 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 11:08:43 ] メールくらいソケット通信でやればよし
135 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 13:11:36 ] というわけでもない
136 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:19:11 ] 匿名関数をWin32APIのコールバックとして渡すことは可能でしょうか? 例えば次のようなことがしたいです EnumWindows( function(hwnd: HWND; lParam: LPARAM): BOOL begin // 処理 end, 0 ); MakeObjectInstanceのようなものがあればよいのですが…。 バージョンは2010です。
137 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:18:21 ] これから試してみるけど 全力わはー ttp://d.hatena.ne.jp/tales/20100105 これが参考になるだろうか。
138 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:44:49 ] 無名関数に STDCALL つけられないから、コールバックにはそのままでは使えないな。
139 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 01:04:17 ] >>138 俺、delphi2010使ってないからよく分かんないけど、できたのかな? ttp://d.hatena.ne.jp/tales/20100117 ってゆうかもしかして、本人様?
140 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 01:14:18 ] stdcallを指定してもまだコールバックとしては使えないみたいですね…。
141 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 08:17:12 ] stdcall 指定した無名関数から、関数のポインタだけを取り出す。 無名関数が親関数が終了するまで存在し続ける この二つを実装、確認しないといけないですね もう少し時間が必要です
142 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:43:06 ] >>137 2010持ってないから何やってるのかわからないんだけど、これってすごいの?
143 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:06:53 ] すごいっていうかもうlambdaはあって当たり前の機能
144 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:38:44 ] TStringListのCustomSortに無名関数が渡せない俺
145 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:03:13 ] Delphi 2010についてるQA検査を何となく使ってみたところ、 parameter 'XX' でCamel記法を使用、というのが警告の対象になったんですが、 Camel記法ってDelphiの推奨の命名法じゃなかったでしたっけ。 サンプルコードも大体Camelになってますし。 試しに変数名を小文字開始にしたら、警告対象外にはなったんですが。 新しめのコーディング規約とか、どこかにまとまってますか?
146 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:13:52 ] Pascalは昔からPascal記法だろ 言語名が記法の名前になってるくらいで新しくも何ともない まとめ探す前に基本を勉強し直してこい
147 名前:145 mailto:sage [2010/01/18(月) 23:24:02 ] >>146 あぁ。camelっていうと先頭小文字を呼び分けるときにも使うんでしたっけ。 引数をPascal記法(InfixCaps、先頭大文字、単語の頭大文字)で記述しているにもかかわらず、 QA検査にかけると、「parameter 'XX' でCamel記法を使用」という警告が出てきて、 引数の頭文字が大文字なのは普通だろ、なんで警告出すんだ、と思ったので、 まさかどこかで推奨の命名法が先頭小文字に変わった? と思って質問した次第です。 「昔からPascal」なのは知ってるので、それで警告出されて不思議に思ったってことですね。
148 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:38:48 ] プログラミングでcamelっていったら普通はlower camel caseを指すと思うが
149 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:46:12 ] >>147 検査項目をクリックする時間の方がここで回答を待つ時間より早いと思いませんか?
150 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:45:45 ] >>147 試してみたら確かに警告出たが、そもそもこんな機能あることすら知らなかったぞ [Camel記法を使用]って、使用しろ、なのか使用しているから警告、なのかこの日本語だと分からんな >>149 警告の内容が妥当かどうかの質問なんじゃないのか? 警告が出たのに意味も分からずにOffにするってのはナンセンスだと思うが。 しかし警告自体がナンセンスだからOffにしとけ>>147 Javaとかだとcamelっていうと大体lowerを指すけれど、 DelphiでCamelっていうとUpperだと思ってる俺って古いのかな。 edn.embarcadero.com/article/10280 古いドキュメントだが、これにもThis is known as InfixCaps, or Camel Caps. って書いてあるんだよな。 最近読んだものだと、cakephpとかのマニュアルもupperを単にcamelって書いてあった気がする。 影響力だか呼び分けだかでlower > upperなのは同意
151 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:02:11 ] PByteArrayの長さを取得するにはどうすればいいでしょうか。 Lengthは文字列しか受け付けてくれないみたいで……
152 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:04:37 ] それは質問自体が破綻している。 ソースで示さないとわからない。
153 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:41:49 ] Length(PByteArray)みたいな形で一発取得出来る関数があるものとばかり思い込んでいました。恥ずかしい ソースで示さないとということは、中身に合わせて一桁ずつ中身があるかどうかを確認してカウントしないといけない、 ということでよろしいでしょうか? Delphi全然慣れていないので型周りの把握が全然です。
154 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 04:04:33 ] 慣れてないならPByteArrayは尚更使用すべきじゃないと思う >>152 のいうようにまずどういう状態かソースで示せ
155 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:03:53 ] Byteは0〜255の何を入れても構わないので「中身があるかどうかの確認」なんてやりようがない。 PByteArrayが何を指しているのかわからないので、サイズを一般的に求める方法はない。 だからみなさんがソースを出せと言ってる。 文字列や配列でLengthが使えるのは、内部的にサイズを記録してあるから。
156 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:40:14 ] くだすれだし、もう少し優しい言い方でも良いかなぁ。とおもいつつ。 Length (組み込み)関数が使えるのは「長い文字列型 (AnsiString, WideString, UnicodeString)」 と 「動的配列 (array of 〜)」です。 PByteArray の定義上の型は 「TByteArray へのポインタ」で TByteArray は Byte 型の「静的」配列となっています。 この TByteArray型は動的配列が Delphi 言語に導入される前に使われていた、長さ不定の Byte 配列を 参照するための便宜的な型です。範囲チェックをオフにすることで任意のインデックスの場所を参照できました。 もちろん配列の領域確保と正しい場所へのアクセスはプログラム自身が保証する必要があります 現在は動的配列が導入されたため、領域確保に関しては動的配列を使えば解決できます。 Length または High を使えば実行時に配列の大きさを知ることもできます。 PByteArray 型は、キャストすることによって任意のポインタを Byte の配列として扱えるため 動的配列が導入された後もよく使われます。 PByteArray 型単体では、単なるポインタなのでコンパイラも(回答者も)それ以上のことは何も判りません。 PByteArray 型の指す実体が、何によって確保されているかによって、その実体の大きさを取得する方法は異なります。 PByteArray 型として格納されているポインタが不定なのであれば、そのポインタの指す「何か」の大きさを 知る方法は、まずありません。設計から見直しましょう。
157 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 12:42:04 ] あの、、、そんなこと長々と言われても分からないので。。。。 慣れてないって言ってるでしょう。。。
158 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:37:34 ] Delphi6 personalを使用しています IDEでファイルを複数開いていて、IDEを再起動したとき ファイルが1つしか開いてない状態になるんですが、 ファイルが複数開いたまま起動するにはどうしたらいいでしょうか?
159 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:57:04 ] D7なのでD6とはメニューの名前は違うかもしれないけど ツール→環境オプション→設定タブ 自動保存の設定 内の プロジェクトデスクトップ にチェック
160 名前:158 mailto:sage [2010/01/19(火) 17:03:24 ] >>159 できました、ありがとうございます
161 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 16:08:30 ] そうそう それぐらいの答えやすい質問をしろ ポインタ配列なんか難しくてわかんないから
162 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:19:01 ] 知らないならレスしないでいいです >161
163 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:24:53 ] >>161 の頭を初期化しようとしたのですが、 「回復不能なエラーです」 という表示が出て初期化できません。 これはバグでしょうか?
164 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 18:25:57 ] 初期化ではなくFreeAndNilをご利用ください。
165 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 18:30:14 ] >>162 間違ってるぞお前 正しくは「知らないならレスしないでください。ウザイだけです。」だ
166 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 19:17:26 ] わかりました。 >>165 知らないならレスしないでください。ウザイだけです。
167 名前:151 mailto:sage [2010/01/21(木) 22:56:51 ] >>154-155 メモリ確保したり解放したりガチャガチャやっているので、PByteArrayを使っています。 Delphi内部で扱う分には出来るだけ安全な型で処理したいものですが、 DLLファイルでポインタを受けたり投げたりもしているので、その辺りはポインタを生で扱っています。 はっきり把握出来ている部分だと速度の為に直接メモリ弄ったりビット演算したりもするんですけれど……。 >>156 どうもありがとうございます。別で長さを管理して、ポインタ代入時やデータ更新時に併せて更新するように書き直しました。 少しDelphiにも慣れてきたのでテストコード一杯書きながら色々確認しています。 答えて貰えるだけでもありがたいですし、ソースを出せ、というのもわざわざ確認してくれようという思いからでしょうし、 ありがたい限りです。どうもありがとうございます。 しかしくだすれでも偽物って沸くんですね……。回答遅くなった私が悪いのか。
168 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 23:35:26 ] 分かってるのに聞いたの? タチ悪いね
169 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:46:38 ] はいはい。素直に負けをみとめろや > 168 >くだすれでも偽物って沸く 2ch ですから。必要に応じてトリップ使いましょう
170 名前:デフォルトの名無しさん [2010/01/22(金) 10:11:16 ] Delphi2010でCtrl+Dを押すとコードが整形されてしまうので これを抑止したいのですが可能でしょうか? あるいは、コードフォーマッタの設定で、 {$REGION 'ほにゃ'} {$ENDREGION} の前後に空行を入れる設定はあるでしょうか? どちらかできればよいのですが…
171 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 10:51:28 ] リファクタリングのショートカットの Ctrl-D を抑止することはできません。 {$REGION を含むコメントの前後に空白を入れる機能はありません Ctrl-D に関しては、カスタム拡張モジュールを作成できれば抑制できるかもしれません。 コードフォーマッターそのものを停止して良いのであれば bin\Embarcadero.Modeling.Formatter.dll を別の名前にリネームして再起動すれば Ctrl-D のキーアサインごと消えて無くなります。 レジストリでコントロールできない。のかな?だれか知ってるひといないかな?
172 名前:170 [2010/01/22(金) 11:40:17 ] >>171 ありがとうございます。 フォーマッタ自体を使えなくしたかったので、 DLLのリネームで事足りました。 Ctrl+SとかCtrl+Cを押し間違えたとき勝手に 整形されるのでイライラしておりました。
173 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:59:56 ] >>169 厨ってすぐに勝ち負けとか言い出すよね 何かトラウマでもあるのかな?かわいそう
174 名前:デフォルトの名無しさん [2010/01/22(金) 14:00:13 ] 64bitのバイナリ出力できるようになるのは次のバージョンからですか?
175 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 15:31:21 ] >>174 迷子ですか?新スレ立ってますよ pc12.2ch.net/test/read.cgi/tech/1264114906/
176 名前:デフォルトの名無しさん [2010/01/24(日) 22:58:15 ] ポップアップメニューを表示してそれを選ぶなりキャンセルするなりしたら即終了する フォームを一切出さないフォームアプリってどうやって作ればいいんですか?
177 名前:名無し募集中。。。 mailto:sage [2010/01/24(日) 23:30:35 ] メインウィンドウ非表示&スプラッシュウィンドウで
178 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:09:59 ] ポップアップ出すだけなら、非表示どころかそもそも作る必要すらない スプラッシュウィンドウも然り TPopupMenuとTMenuItemを動的生成するだけでいい
179 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 19:48:25 ] DMonkeyってやたらexeのサイズが大きくなるけど マイナーな機能取っ払ってサイズを劇的に小さくする技ってないの?
180 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 03:00:37 ] あの程度のサイズ増加を気にするのはお前だけ
181 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 06:57:17 ] >>179 あるよ
182 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 15:02:08 ] >>179 ないよ
183 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 23:30:50 ] >>99 TurboDelphiお願いします
184 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 01:25:39 ] いくら出せますか?
185 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 02:31:12 ] >>183 turbomirror.com/ 他にもググればいくらでも出てくる
186 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 02:40:57 ] はいおつかれw 予想どうりw
187 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:30:54 ] ??
188 名前:デフォルトの名無しさん [2010/02/05(金) 21:39:13 ] 質問です。 あるツールのフロントエンドを作っています。 そのツールがパスの通っているディレクトリのどこかに存在するか否か確認する方法を教えてください。 ツールの実行ファイル名はわかっています。
189 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:41:17 ] SearchPath
190 名前:188 mailto:sage [2010/02/05(金) 21:46:13 ] >>189 ありがとうございます!
191 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 13:38:38 ] はじめまして。 以前から興味があったのですが、今回思い切って初めてDelphi2010Proを購入してしまいました。 頑張って勉強していきたいと思います。 じつは、IDEの挙動について気になった事があり、お尋ねしたいと思います。 VCLその他の機能などをツールバーボタンに並べてみたのですが、マウスカーソルをボタンに持っていってもツールチップが表示されません。 ぼんやりとした記憶なのですが、インストール直後はちゃんと表示されていたような気がするのです。 まだまだボタンのアイコンと機能が頭の中で繋がらないため、ツールチップが表示されると大変助かるのですが(とくにVCL)…元々表示されないものでしたでしょうか。 ぐぐっても答えになりそうなページが見つからず、ご助言頂ければ幸いです。よろしくお願いいたします。 追伸 オプション内ツールパレット→「ボタンのキャプションを表示」にはチェックを入れてあります。
192 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 16:23:04 ] チェックしないで下さい
193 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 09:47:17 ] >>191 ShowHintプロパティ ttp://docwiki.embarcadero.com/VCL/ja/Controls.TControl.ShowHint
194 名前:191 mailto:sage [2010/02/11(木) 11:31:15 ] >>192 さん、 チェックの有無では変化ありませんでした。ツールバーカスタマイズメニュー下のツールチップON/OFFでも効果ありませんでした。 >>193 さん、 アプリではなくIDEそのもののチップなので…でも紹介下さったページ勉強になりました。 再インストールとか色々調べてみましたら、やっと原因が判りました。 犯人は同時起動しているタブブラウザのタブ数でした。 60個近く開いているタブ数を減らしましたらチップが表示されるようになりました。 タブ数何個以下とは決まっていないみたいなので、よく分かりませんがリソースを食い合いしてたって事なんでしょうか。 IEコンポーネントベースだからなのかプログラム自体の問題なのかXPの問題なのか…勉強不足でわからないのですが、とりあえず自分の環境の所為と言う事がわかりました。 変な原因ですみません。ご回答頂きありがとうございました。
195 名前:デフォルトの名無しさん [2010/02/13(土) 02:25:36 ] ツールバーのカスタマイズの実装方法について教えてください。 CustomizableプロパティをTRUEに設定して、 OnCustomizeCanDeleteとかOnCustomizeNewButtonとかのイベントを使うのだと思うのですが、 具体的にどのようなプログラムを書けばいいのでしょうか?
196 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 15:06:15 ] まず自分で分からないなりに書いてみたの?
197 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 09:01:02 ] TCollectionから派生させたTGraphItemのItemsに、TCollectionItemから派生させたTGraphItemsをリストするのはできました。 で、質問なのですが、 TGraphItemから派生させたTGraphBox,TGraphAxsis,TGraphLegend,TGraphDataなどの子クラスを同じTGraphItems.Itemに リストしたいのですが、どうすればいいのでしょうか? 同じクラスしかリストできない? ちなみにD6です。 よろしくお願いします。
198 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 09:05:00 ] あ、間違いです。 TCollectionから派生させたTGraphCollectionのItemsに、TCollectionItemから派生させたTGraphItemをリストするのはできました。 で、質問なのですが、 TGraphItemから派生させたTGraphBox,TGraphAxsis,TGraphLegend,TGraphDataなどの子クラスを同じTGraphColection.Itemsに リストしたいのですが、どうすればいいのでしょうか? です。 よろしくお願いします。
199 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:00:40 ] つD2010
200 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:04:43 ] D2010だと簡単にできるのですか? D2006だっけ(?)は持ってるけど使ってないんです。
201 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:23:51 ] つかTListを委譲したクラスを作ればいいじゃん。 TCollectionから派生させるいみがわからん。
202 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 14:52:42 ] オブジェクトインスペクタに出すならTCollectionの方が向いてるとかじゃないの? コンポ作らないからよくわかってないけど。
203 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:09:29 ] TListなりに放り込んで、各子クラス用のプロパティエディタを作ったほうが簡単だって事?
204 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:26:29 ] 201みたいに答えわからない奴は書き込まなきゃいいのに。 って思う。 まぁ、俺もそうだけど…
205 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 16:16:42 ] >>198 リストしたいのですがって、派生クラスならできるでしょ 結局のところ何がしたいの?
206 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 16:47:50 ] >>205 要はグラフのコンポーネントなんですが、軸だとか凡例だとか項目名の子クラスをリストして、 リスト順に描画しようかと思ったわけです。 簡単そうではないので、仕方ないので各子クラス用のTCollectionを拵えて、 描画順は固定でいくようにします。
207 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:13:24 ] TListやTCollectionを継承する人はdelphi初心者というよりプログラム初心者な感じがするな
208 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:23:34 ] じゃぁ、今は何使うの?
209 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:25:16 ] >>206 描画順用のTCollection作って、個別のTCollectionと中身共有すればいいだけじゃないの? 簡単そうではないという判断基準はどこから出たの? >>207 自分はバカだという新手の自己紹介ですか?
210 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:27:43 ] 初心者かどうかはともかく10年以上も前のテクニックだとは思う
211 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:30:20 ] なぜだ
212 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:35:30 ] >>209 >描画順用のTCollection作って、個別のTCollectionと中身共有すればいいだけじゃないの? なるほど、描画順はほかのリストで管理って言うのはいいですね。 >簡単そうではないという判断基準はどこから出たの? そのCollectionにItemを追加する時に、どの子クラスを追加するかを指定する術をオブジェクトインスペクタが持っていないので 追加するときは規定クラスを追加して、その基底クラスのKindプロパティみたいな物を弄ると、そのプロパティに沿った子クラス が作られる。みたいなものを考えていたのですが・・・ 単一のCollectionにそんな機能を盛り込むよりも、一つの子クラスに一つのCollectionを与えたほうが簡単かなっと。 あとは描画順だけの問題なので、描画順のリストなりCollectionで対応しようと思います。 昔、「Visualこんぼ」っていうActivXコントロールがあったのですが、そのグラフ機能を模倣しようとしていたわけです。 だれか使ったことがある人いますか?
213 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:37:20 ] >>210 リストすることが10年前のテクニックなのか? 古いも何も、リストする事は普通だろ?配列とか使わないの?あなたは。 どこを指して古いと言っているのかわからないからおせーて。
214 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:47:12 ] 元質問者そっちのけで申し訳ないけど、俺もその今時だか中級車向けだかのテクニックを教えてほしい。 煽りとかでなく、自分が古い知識のまま止まってる気がするので。
215 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:55:28 ] 今はジェネリッククラスの時代だ
216 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 17:56:11 ] まさか、動的配列とか言わないですよね。