★クライアントサイド最強の Delphi に物申す★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG等々何でもいいから日頃あなたの思っていることを正直にカキコして頂戴。(初心者歓迎)
なお、Delphi 未使用者の冷やかし発言は御遠慮願います。
00021
NGNG・Java のようなパッケージ仕様にしてもらいたい。
・作ったソースそのまま Kylix に持っていってもコンパイルできるように SJIS, EUCJ
の両エンコーディング対応にしてほしい。
ちょっと大雑把で失礼。まだ他にもたくさんあるけど睡魔が...
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGうるせーよ。氏ね。
おもしろいと思ってんの?
0007デフォルトの名無しさん
NGNG00086
NGNG00105
NGNG0012デフォルトの名無しさん
NGNGだって<以下自粛>
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG欲しけりゃ作ればいいじゃん Pascalスタイルのスクリプトソースは
ごろごろ転がってるだろに
>Java のようなパッケージ仕様
DLLでいいんじゃないの?
0016デフォルトの名無しさん
NGNG0017Delギコ
NGNG∧ ∧
Σ(,,゚Д゚)
/ | ソレ オレ ノ コト ジャン
,, ,,,, (_,ノ ,,, , ,,
ノ ,,
9末の決算前でみんな忙しいかも。
0018デフォルトの名無しさん
NGNGDelphi厨つぶし野郎の陰謀だよ。
VBがどうのこうのってスレ立ててるやつとたぶん一緒・・・
0019Delギコ
NGNG∩ ∩_ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜⊂ ̄ ̄ (。Д。)⊃ < 誤爆りました・・・
 ̄ ̄ ̄ ̄∨∨ ̄ ̄|\_____________
ア・アボーン シテオイテ チョーダイ
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGC++ メモリの解放はプログラマ次第で自動化できる。
Delphi メモリの解放を自動化することは不可能。
0023デフォルトの名無しさん
NGNGModula-2 モジュール
JAVA パッケージ
って同じようなもんじゃないのかな?
0024デフォルトの名無しさん
NGNGそれってマジ?
Delphi.NETが最後の希望の光だと思うんだけど・・・
0025デフォルトの名無しさん
NGNGどっちにしてもスクリプト的(動的にコンパイルするかインタプリタになるかは判らんけど)
に使いたいという事なら
.Create スタイルの生成は禁止して interfaceスタイルにすりゃいいんじゃないの?
0026デフォルトの名無しさん
NGNGhttp://mentai.2ch.net/test/read.cgi?bbs=bsoft&key=998629435&st=30&to=31
0027コピペ
NGNGTurboPascal は Pascal では書かれていないし(フルアセンブラ)
カーンはアセンブラは書けない。
カーンはコンセプトマンで、それは「すべてオンメモリで処理しろ」
ただそれだけ。
ヘジは最後まで Windows と UNIX が嫌いだった。
Wizard C の開発部隊ごとカーンが買って TurboC が大好評の裏に
干されかけた Pascal 部隊の起死回生の一発が Delphi。
厳密にはノベルの Netware 用開発ツールだったんだが、ノベルからいろんな
技術を分捕って形作ったのが旧称 AppBuilder / Delphi 1.0 だ。
0028コピペ
NGNG特に日本では、VB 3 - 4 のころ MS の方がごたごたしていてうまいこと
くらいつけたという部分がある。
TVision の経験から OWL で発明された、ウィンドウハンドルにオブジェクトの
ハンドルを関連付け、VMT インデックスにウィンドウメッセージを直接マップする
という MFC にも影響を与えた技法を作ったのはヘジでもカーンでもない。
ほんとの天才は表には出てこない。アメリカなら特にヘッドハンターに狙われちゃうもんね。
カーンはしょうがないけどヘジが表に出てきた。ってのは彼がボーランドに
いづらくなった。ということなんだよ。どんな天才にも得意/不得意はあるしね。
人間関係もかかわるし。日本でインタビュー受けるような状態になったら終わり。
彼は結局 TurboPascal のヘジでしかなかった。
それが証拠に、C# はどこまでも Delphi/ObjectPASCAL だろ?
あれが似ているということが、彼の能力の限界があそこなのだ。ということだ。
0029デフォルトの名無しさん
NGNG↑ブビ坊の意見かもしれんが、逆。MSにとって、.Netが最後の希望の光。
0030デフォルトの名無しさん
NGNG00312
NGNG>>2 HTML埋め込み対応希望
>欲しけりゃ作ればいいじゃん Pascalスタイルのスクリプトソースは
>ごろごろ転がってるだろに
おれが今まで作ったライブラリ資産使えないだろう。
そもそも JBuilder のようにIDE内でデバッグできないとだめだ。
埋め込みDelphi(Pascal)って合いそうじゃない。
コンパイル激速だし、おまけにネイティブコードで実行できるから。
>>Java のようなパッケージ仕様
> DLLでいいんじゃないの?
DLL とか jar とかの問題じゃなくてクラス名とかがぶつからないように
名前空間機構を導入してほしいということ。
よくコンポーネント登録するときとか同じ名前のやつが既に登録されてると
登録できないじゃない。わざわざ名前変えたりしてさめんどうじゃーないの。
0032デフォルトの名無しさん
NGNGまたまたあ(藁
0033デフォルトの名無しさん
NGNGこんな中途半端なものより、Kylix for 「オープンソース版.Netクローン」のが良いじゃん。
0034
NGNG0035デフォルトの名無しさん
NGNGStringってどうしてんだよ。
0036デフォルトの名無しさん
NGNGおれは Delphi の .NET化に興味なし。
.NET したければ C# 使えばいいことだよ。
0037デフォルトの名無しさん
NGNGこのスレはブビ坊のネタスレ。必死にDelの悪いところを探してこういう話題になってる。
でもブビ坊は触ったことない.NETをほんとに好きかもしれない。
0038Delギコ
NGNG∩(,,゚Д゚) < ガベコレのことでしょ?C++で出来るの?
⊂,,⌒ ,,つつ. \Javaでもガベコレに頼ると
 ̄ ̄ 結局動作が遅くてイヤだという噂もありますが…
∧ ∧ / ̄
∩(,,゚Д゚) < 確かにDelphiスクリプトは標準であったらベンリ。
⊂,,⌒ ,,つつ. \ 是非に。Borlandに真剣になってもらいたー
 ̄ ̄
∧∧ />名前空間機構を導入してほしいということ。
〜''~(,,゚Д゚) < 欲しい欲しい
UU'UU \
∧∧ />.NET したければ C# 使えばいいことだよ。
〜''~(,,゚Д゚) < つまりJavaを使えと・・・
UU'UU \いうことですか....
0039デフォルトの名無しさん
NGNG確かにC++にはガベコレはない。
しかしプログラマに実力さえあれば、粘着質のように究極の安全性を追求できる。
ところがDelphiではそれはできない。
C++Builderではどんな巨大なプログラムでもdeleteを使わずに済むよう配慮する余地がある。
(もし使う場面があっても、完全に隠蔽して表の世界から遮断できる)
だからC++の実力者は__finallyなんて使わない(後かたづけするものがないから)。
しかしDelphiでFreeを使わないようにすることはできない。
finallyが必要なのは、オブジェクトパスカルの完成度の低さを証明している。
例えば、例外発生時にfinallyで処理する必要がないようにクラスを整理する方法がない。
>>22
アセンブラで書かれているようだけど?
0041デフォルトの名無しさん
NGNG>しかしプログラマに実力さえあれば、粘着質のように究極の安全性を追求できる。
finallyの方が究極の安全性がある。オブジェクトの開放順番も自由。
さらにC++ではコンストラクタ、デストラクタのオーバーライドも不自由である。
004241
NGNGC++では、finallyの記述が一貫してないから非常に困るな。
WinとLinuxとクロス出来ないね。出来るんだったら方法教えて欲しい。
0043デフォルトの名無しさん
NGNG>finallyの方が究極の安全性がある。
function TImage.GetCanvas: TCanvas;
var
Bitmap: TBitmap;
begin
if Picture.Graphic = nil then
begin
Bitmap := TBitmap.Create;
try
Bitmap.Width := Width;
Bitmap.Height := Height;
Picture.Graphic := Bitmap;
finally
Bitmap.Free;
end;
end;
end;
TCanvas TImage::GetCanvas()
{
if (!Picture->Graphic)
{
auto_ptr<TBitmap> Bitmap(new TBitmap);
Bitmap->Width = Width;
Bitmap->Height = Height;
Picture->Graphic = Bitmap.get();
}
}
どっちのほうが安全だと思う?
配慮といういうは、使う側の人間がするより、用意する側の人間がする方がいいに決まっている。
コンパイラが配慮するのが最も優れており、次に優れているのはライブラリ制作者が配慮すること。
ライブラリのユーザーが配慮しなければならないのは優れているとは言えない。
finallyはユーザーが安全性を与えなければならない。
C++は、クラスの使用者がfinallyを書かなくて済むように配慮できる。
でも俺がVCLの作者なら、以下のように書けるようにするけどね。
TCanvas TImage::GetCanvas()
{
if (!Picture->Graphic)
{
TBitmap Bitmap;
Bitmap.Width = Width;
Bitmap.Height = Height;
Picture->Graphic = Bitmap;
}
}
0044Delギコ
NGNG∧ ∧ /
(,,゚Д゚) < ナカムラ先生タンもがんばっておられるようです。
|⊃ ,⊃ \ 解決してるのかな。このスレッド…
@| | ダレカ(奥)サマリーつくってくれ
∪∪
これだけガベコレが流行るんだから。Delもなんとかして欲しい。
0045デフォルトの名無しさん
NGNGinterface知らない?
あとはそうだね、やろうと思えばコンポーネント風に
クラスの開放を全部アプリケーションにまかせるとか。
他にauto_ptrもどきの実装もできるし、手段はいろいろあるよ。
勉強不足を言語のせいにするのはハズかしいぞ。
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGこれもおもしろいな
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=041732
0048デフォルトの名無しさん
NGNGいまどき Paradox も dBASE もしないだろうに。
それより BDE 経由しない ODBC の TDataSet がほしいな。
極力余計なライタイム不要な方向にしてくれ。>某
0049デフォルトの名無しさん
NGNGハァ?
0050デフォルトの名無しさん
NGNGほっとけ。隔離スレの意味がなくなる。
0051Delギコ
NGNG> 使用例
> 使用したオブジェクトを自動破棄する。
> type
> TXXObject = class(XXXX)
> :
> end;
>
> procedure TForm1.XXXXXX(Sender: TObject);
> var Obj: TXXObject;
> AutoObjRef: IAutoObjRef;
> begin
> Obj := TXXObject.Create(.....);
> AutoObjRef := TAutoObjRef.Create(Obj);
> :
> end; // ここで Obj は自動破棄される。
>
> 使用した レコードを自動破棄する
> type
> TXXRecord = record
> str: string;
> :
> end;
>
> procedure TForm1.Timer1Timer(Sender: TObject);
> var pRecord: ^TXXRecord;
> AutoPtr: IAutoPtr;
> begin
> New(pRecord);
> AutoPtr := TAutoPtr.Create(pRecord, TypeInfo(TXXRecord));
> :
> end; // ここで レコードが自動破棄される
>
> #レコードだけでなく、^String や ^動的配列 の自動破棄も
> #できます(^^
つまり、>>39>>43さん。よろしかったでしょうか?
>確かにC++にはガベコレはない。
>しかしプログラマに実力さえあれば、粘着質のように究極の安全性を追求できる。
Delphiでも出来るようです。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧ ∧ スゲー
(,, ゚Д゚)∫
/ つ旦O カクリ スレ ナノ?
〜(__n n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
もっとワクワクするネタくださいな。
クライアントサイドならC#にも負けないよ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1001489683
隔離スレを利用して最強をアピールしとこかー。
00521
NGNG0053デフォルトの名無しさん
NGNGDelphi for .NETとか言ってる奴は単にDelphiのIDEがタコなんで
MSのIDEが使いたいだけに一票
素直にC#に移行するのが後々楽だと思うが
0054デフォルトの名無しさん
NGNGVer.Up するたびに Delphi IDE のウィンドウが増えてきてて
XGAじゃ見づらくなってるからそろそろIDEのモデルチェンジを
してもらいたいね。
だからといって別にC#をしたいとは思ってないが。
0055Del厨
NGNG0056デフォルトの名無しさん
NGNG・・・
0057デフォルトの名無しさん
NGNG0058sage
NGNG0059デフォルトの名無しさん
NGNGVBのことかな?(プ
0060デフォルトの名無しさん
NGNGって書いたときのエラーメッセージが
[for 文の制御変数はローカル変数でなければなりません]
ってのはどうにかしてもらいたい。
ほかに似たようなのある?
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGワーニングじゃなかったかな?
コンパイルは可能。
でも、なんで出るのでしょうかねぇ〜?
0064デフォルトの名無しさん
NGNGうぅ。分かってもらえない。
For I := 1 to 10
が正解。腹が立っているのは,:= と = を打ち間違えた事を指摘してくれないから。
(I = 1) という論理型の式がある。と判断して(これは正しいんだけど)
意味不明のエラーをだしちゃう。それが嫌。
0065
NGNG[for 文の制御変数はローカル変数でなければなりません]
って出ますね。
0066
NGNGこのエラーは,制御変数が来るべきところに構文エラーがあるときにも表示されます。
たとえば以下のように,i := 0 でなければならないところを書き間違えた場合などです。
for i = 1 to 100 do
begin
end
0067デフォルトの名無しさん
NGNGkylixネタを頼むよ。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG>勝ち目ないかも>Kylix
LinuxではC/C++が強いってこと?
0071デフォルトの名無しさん
NGNG互換性を考えずに理想を追求して欲しかったということでは。
確かにコンポーネントをinterface化して欲しかった。
>>69
啓蒙活動はしなくても、kylixでできたアプリが普及してくれば、
勝手にパラダイムシフトが訪れるでしょう。
Windowsみたいに他のライバルがないし。
そんなことより、PPC版やSH版やMIPS版も開発して欲しい…。
0072デフォルトの名無しさん
NGNGまさか、標準で入っているccコマンド(確か、k&r)で開発なんかしないよNE?
0073大雑把にまとめてみると
NGNG・チャレンジ精神旺盛な人たち
・利用者のスキルレベルは低〜高までさまざま
・主に個人的ユーザが多く熱狂的なコミュニティが構築されている
BCB 使い)
・Delphi との両刀使い(昔はC/C++をやっていて人と思われる)
・Delphi がいいけど ObjectPascal はちょっと...と思っている人たち
VB 使い)
・利用者のスキルレベルは低がほとんど
・作ったソフトの品質は気にしない
・Microsoft 製品じゃないとだめと考える保守的な人が多い
VC 使い)
・利用者のスキルレベルは中〜高
・とにかくコードをしこしこ書くのが好き
・Microsoft 製品じゃないとだめと考える保守的な人も多い(特に仕事において)
0074デフォルトの名無しさん
NGNGccつーかgcc。だけど開発環境と言うか言語だわな。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG普通は全部手書き。
Gtk+ 用の RAD ツールとして glade というのはある。
X-Windowアプリのリソースファイルは手書きで十分。
0077デフォルトの名無しさん
NGNGそれとも、Linux使う時点で、画面に期待されてないとか。
でも、Linuxでもoffice互換ソフトとかあるんだよねぇ。star officeだっけ。
0078デフォルトの名無しさん
NGNG007977>78
NGNGDelphiはリソースファイルじゃなくて、独自dfm形式だよ。
リソース(標準コントロール&独自コンポーネント)を
バリバリに使っているって意味。
008078
NGNGなら、ますます77の意味が分からない。
Kylixの標準(GUI)コンポーネントってQtのウィジェットらしいが、
(http://nsw.nikkeibp.co.jp/nsw/newsshow2.asp?ID=77)
viでソース書いてg++でコンパイルしてQtのウィジェット並べるのと、
KylixのGUIでQtのウィジェット並べるので差異がでるの?
0081デフォルトの名無しさん
NGNG解釈2:リソース=Windowsのリソースファイル
>リソースバリバリのDelphi
?
確かにDelphiでもリソースは使われているが(アイコン等)・・・
バリバリ?
0082デフォルトの名無しさん
NGNGリソース=Windowsのリソース
リソースファイル=Windowsのリソースを定義したリソースファイル
0083デフォルトの名無しさん
NGNG実行時はAPIコールなんだから実質同じ>>80
ただ、画面にペタペタはってバリバリ作るのと、
viでリソースファイルをしこしこ作るのでは、出来上がるものが違うでしょ。
0084名無しさん@Emacs
NGNG出来上がるものは同じだよ。TMTOWTDI!
かかる手間が違うだけ :-)
0085デフォルトの名無しさん
NGNG手間がかからないほうが、よりよいインターフェイスのために試行錯誤したり、
適切な仕様変更を施したりすることが気軽になって、
完成度が上がるんじゃないか?
linuxの窮状を見るに、その通りじゃないかと思うけどね。
適切な仕様変更なのに面倒だからと受け入れなかったり、
もっといいレイアウトがあるかもしれないのに「これでいいや」と妥協したりしてないか?
0086Delギコ
NGNG(,,゚Д゚) < ぷっはー。
ヽ/つ且~~ \___________
(__ _)
>>352さん情報サンクス
>>341のコードのListBox1.Items.Addの前に2行追加してみました。
EventLogDateTime := EncodeDate(1970, 1, 1) + (pevlr^.TimeWritten / 86400);
S := DateTimeToStr(EventLogDateTime) + '|' + S;
ListBox1.Items.Add(S);
あっているのだろうか・・
NTEventLogの掃き方がどうも変なんだよなー。
あきらめておくのが正解かもね。
0087Delギコ
NGNG〜′ ̄ ̄(;TДT)< また書き間違えた。ゴメン
UU ̄ ̄ U U \_____________
モウアキラメヨ…
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGswdepend.iniのどのエントリをいじれば良いかの技術情報
を公開してくれんかのう。複数バージョンを単一マシンで使ってる
身としては結構切実なんじゃ。
0090デフォルトの名無しさん
NGNGイベントビューアで見ればいいだけだし。
イベントログに書き出すほうならサーバ系なら普通に使うだろうが。
009189
NGNG鬱です。
0092Delギコ
NGNG〜′ ̄ ̄(;゚Д゚)< イヤ・アノ・ソノ・・・>>90
UU ̄ ̄ U U \_____________
純粋にこのページでやってることをパクってみたかっただけなんです、、
http://www.atmarkit.co.jp/fdotnet/csharptips/002anchor/002anchor.html
このサイト書いた人に"イベントログなんて読む必要ねーんじゃ(゚Д゚)ゴルァ"って
逝ったほうがいいでしょうか....たちのわるい読者になてしまいそうです。
0093デフォルトの名無しさん
NGNGC++直接通るならイカスぜ。
0094デフォルトの名無しさん
NGNGえ、C++コードは通らないZO!
0095デフォルトの名無しさん
NGNGそれはBuilder
009689
NGNGTREGSVR.EXEと同じフォルダに入れ、バッチで、
TREGSVR -q BDEINST.DLL
インストーラで失敗したときに実行するようにしました。
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGあたりまえでしょ
0101デフォルトの名無しさん
NGNG出たら触るつもり。
0102こんばんわ!ケイスケです。
NGNGならなくなりました。
(回路図を書きたいんですが・・・)
・絵を貼り付けたり・・・
(コンポーネントをフォームに貼り付けるように)
・貼り付けた絵を線で結んだり・・・
(その線は絵にくっついていて絵を動かすと線も
ついてくる。)
等など色々あるのですが、まったく何をどうすれば
このような物ができるか分かりません。
まずはvisioのように絵を貼り付けるにはどうしたら
いいのか皆さんに力を貸してもらえないでしょうか?
かなり本気で困っています。(T_T)
よろしくお願い致します。m(__)m
以上
0103デフォルトの名無しさん
NGNG素直にvisioを使えとクライアントに言え。
図を編集してデータを出力するようなことをしたければ、
visio+VBAを使え。
0104デフォルトの名無しさん
NGNGhttp://www.land-grp.co.jp/trip.html
0105デフォルトの名無しさん
NGNGhttp://www.devexpress.com/products/vcl/product.asp?ProdID=12
を参考にするとか
線だけならFree
0106why .NET
NGNG.NET 対応化を望む理由を教えてくれ?
.NET 化すると
(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
(2) (1) の逆
このくらいだと思うが、おれには得に便利になるわけではない。
それともほかに何か理由があるのかい?
0107デフォルトの名無しさん
NGNG>.NET 化すると
>(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
>(2) (1) の逆
これができるといっている,論拠は何?
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGアップデートは撤回されたようだが日本でも以下のようにテスターの
募集が始まっている。
(公人の公開された空間での発言だから転載してもいいだろう)
“ボーランドの”大野です。
というわけで、ちょっと仕事にからんだメッセージで恐縮です^_^;
このパッチについて、すでに日本語版の作成に取り掛かっています。
米国のサイトで案内されているバリアント関連の問題については
そのままなのですが、このレベルのものを日本語版でお試しになりたい方は
いらっしゃるでしょうか。(サイズは 20MB 弱くらいになると思います)
ご興味のある方は [email protected] まで直接ご連絡ください。
さぁ。みんなでメールを出そう。
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGげ某MLにも同じ質問が...
0112バグ
NGNGコンパイルできんぞ。(DesignEditors.pas で uses している。)
いつも思うことだけどバージョンアップするたびにバグのレベルが
ひどくなってるよなー。
ちゃんとチェックすればファイルが足りないことは明白のはずだが
完全に手抜きしているな。>某
Ver.5 のときのプロパティエディタのユニット名とか変更しておき
ながらヘルプにもその旨が載ってないしな。
後でアップデートパック出すからじゃ遅いんだよ。
製品出荷することにもっと責任を持ってくれ!!!>某
0113デフォルトの名無しさん
NGNGMLからだれかコピペしただけかと。
厨プログラマたたきはマ板でやってくれ。たのむから
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGそうだね。一番完成度が高かった印象がある。
Win3.1で唯一無二の最高作だよ。
もう一度初心に返ってもらいたいものだ。>某
0116デフォルトの名無しさん
NGNG今度のはCLXの関係で特にひどそう
でもアメリカでは許容範囲かもね
0117デフォルトの名無しさん
NGNGProxies ユニットが無くなったのは Delphi4 から。2/3 との互換性を考えて
ソース/ユニットが提供されていたのにガイドラインに従わずにいたコンポーネント作者の
怠慢は問わないのか?
0118要望など
NGNG・.exe ファイルでかくなりすぎ。(Ver.Upのだびにでかくなってる。)
・ObjectInspector にプロパティ、イベントが多くなりすぎで
なんとか使い易くしてもらいたい。
毎々増えてく機能をすべてベースコンポーネントに詰め込んでるけど、
これらを interface にして外に出してせばいいじゃない。
D&Dやドッキングなどは使わないケースがほとんどだからベースクラスから
切り離してもらいたい。
そのとき作りたいアプリに必要な機能だけ interface を実装するように
すれば多少 .exe サイズが小さくなるんじゃないの。
0119デフォルトの名無しさん
NGNG>Proxies ユニットが無くなったのは Delphi4 から。2/3 との互換性を考えて
実際このユニットファイルがないとコンパイルできんぞ。
0120デフォルトの名無しさん
NGNGフォームにドッキングコンポを載せると、フォームがドッキング可能になる。
0121118
NGNG委譲モデルにした方がいいか。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGたしかにそう思うけどそれだとドッキング対象がフォームのみになっちゃうよね。
DBコンポの TDataSet系, TDataSource みたいな感じにすればいいと思うよ。
例えば、
ドッキング元:TDockSource
ドッキング先:TDockSite
みたいなコンポーネントがあってフォームや各種ビジュアルコンポーネントと
関連付けさせるようにしておけばいいと思うよ。
そうすればプロパティやイベントの分散されてObjectInspector に表示する量
も少なくなるしね。
0124デフォルトの名無しさん
NGNG>IDEとコンパイラ+VCLを分離するとどうなるの?
言ってる意味がわからないんだけど。
IDEあってのVCLでしょ。
IDEがなければVCLの意味がない。
0125デフォルトの名無しさん
NGNGDelphi6のIDEでDelphi3で開発していたプロジェクトを
コンパイルしたいわけです。
VCLやコンパイルをバージョンアップすると、あらたなバグが
潜む可能性があるからねっ!
Delphi7にDelphi1〜Delphi7までのVCLとコンパイラを内臓
していればいい。
コンパイラの最新機能がVCLで使われるから、
VCLとコンパイラの分離は無理だと思う。
0126124
NGNG>Delphi6のIDEでDelphi3で開発していたプロジェクトを
>コンパイルしたいわけです。
>VCLやコンパイルをバージョンアップすると、あらたなバグが
>潜む可能性があるからねっ!
それならばそのプロジェクトだけ Delphi3 でやる続けるか、
Delphi6 用に調整するしかないんじゃないの。それはしょうがないよ。
仮に Delphi3コンパイラ + Delphi6VCL の組み合わせが可能でも
当然コンパイルエラーになるから意味ないじゃん。
>Delphi7にDelphi1〜Delphi7までのVCLとコンパイラを内臓
>していればいい。
それよりすべてのバージョン互いに干渉しないように同一PC内に
同居できるようになった方がいいと思うが。
0127デフォルトの名無しさん
NGNG>Delphi3コンパイラ + Delphi6VCL の組み合わせ
IDEと(コンパイラ+VCL)の組み合わせです。
Delphi3で開発していたプロジェクトをバージョンアップを、
最新の開発環境(IDE)で行いたいのです。
0128124
NGNG納得。
IDEだけ最新もの(拡張されたいろんな機能)を使いたいということだね。
そうなれば JBuilder みたいだね。JBuilder は JDK バージョンを切り換えられるから。
0129127
NGNG>128
そうです。 でも、重くなるのは嫌!
VCLはもういっぱいいっぱい。
0130デフォルトの名無しさん
NGNG>それよりすべてのバージョン互いに干渉しないように同一PC内に
>同居できるようになった方がいいと思うが。
できるよね?
0131デフォルトの名無しさん
NGNGイメージファイルがWindows3.1の頃から変わってなかったよ。
そろそろ更新したほうがいいとおもう。
アイコン作る暇ないとか、そういうときに標準の画像があると便利っていう人は多そう。
標準(エクスプローラとかオフィスとか)の画像はMSの著作物だから無理なのかな。
0132デフォルトの名無しさん
NGNG前に、Delphi1〜Delphi5まで一緒のPC(OS)に入れていたよ。
Delphi3は入れなかったけど(3.1は入れた)
全部ちゃんと動いていたよ。
この前、OS入れ替えたので、今はDelphi6しか入ってない。
#ボランドってバージョンアップしても前の製品のライセンス消えないよね?
0133デフォルトの名無しさん
NGNG>.NET 化すると
>(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
>(2) (1) の逆
>このくらいだと思うが、おれには得に便利になるわけではない。
>それともほかに何か理由があるのかい?
それだけで十分だと思うんだけど・・・
それぞれで作ったコンポーネントが、再コンパイルや改変なしに
相互利用できるというのは、素晴らしいことだと思うのですが。
その世界で閉じちゃってる(あるいは、ヒキコモリたい)
人たちには分かんないかなぁ。
0134デフォルトの名無しさん
NGNG>相互利用できる
それがほんとにできたらね。けど同じ宣伝文句で ActiveX コントロールってのが
あったけど,本流にはならずに終わってしまったよね。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGそれかBorland C# Builder(藁
0137デフォルトの名無しさん
NGNGどっちにしろ、今はDel使うからイイや。当分OSもWin2kで行くつもりだし。
0138デフォルトの名無しさん
NGNG以前複数Ver.入れて使ってたときどっちかのコンポーネントパレットの中身がすべて消えたことあったよ。
特殊なことをしたわけじゃないのに。
古いVer.のやつを新しいVer.のより後にインストールしたり、任意のVerを自由にアンイストールしたりしても
それぞれのVer.が完全に独立していればいいけど、現に問題があったから。
0139デフォルトの名無しさん
NGNGもしかして、ActiveXと呼ばれていたもののうち、
実際に何がどれくらい使われているか知らないのかな?
閉鎖的コミュニティではおかしな発言が正当化されやすいから、
気をつけたほうがいいですよ。
0140デフォルトの名無しさん
NGNGC# 使いたければ VisualStudio.NET でいいんじゃない。
Delphiライクにフォームにコンポを貼り付けてアプリ作れると思うから、
わざわざ Borland が同じようなものを作る必要はないと思うけど。
0141デフォルトの名無しさん
NGNG136がいってるのはネイティブコードにコンパイルできるC#ってことじゃないの?
0142デフォルトの名無しさん
NGNG出来るに越したことはないが。
それならば Delphi 同様余計なランタイムがいらない .exe ファイルのみでも
OKにしてもらいたいが、無理のような気がする。
0143デフォルトの名無しさん
NGNG>>136 じゃないがWindows & Linux対応のC# Builder求む。
Delphi & Kylixと同じようなもの。
Javaほど遅くないからネイティブにはこだわらない。
別にそうであってもいいが。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG(軽量コンポ = TGraphicControlのサブクラス)
重量コンポと同様に扱えるようなしくみにした点には脱帽。
ということでVCL最高!
0146デフォルトの名無しさん
NGNG遅いより速い方がいいでしょう。
0147デフォルトの名無しさん
NGNGインラインアセンブラが使えるか、どっちか満たしていればいいや。
じゃないとゲームに使えん。
0148デフォルトの名無しさん
NGNG軽量コンポーネント、フォーカスをもてないのがちとつらい。
0149デフォルトの名無しさん
NGNGDelでゲーム作る?正気か?
0150デフォルトの名無しさん
NGNGまたそうやって脊髄反射で書き込みをするぅ。
0151デフォルトの名無しさん
NGNGああ、Delじゃないよ
ネイティブだとかC#だとか言う話に対してのレス。
正直糞以外の言語なら何でも良いんで、ライブラリにバグが無いか、
もしバグがあるなら自分で作るからインラインアセンブラ使わせてくれればね。
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG作ってた人はいたけどね。未完のままサイトが閉鎖されたけど。
0154デフォルトの名無しさん
NGNGDel用のDirectXコンポ使えば。
今どきアセンブラでゲーム作ろうとしてるやつはアホだぞ。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG//
//
|:| Λ_Λ / ̄ ̄ ̄ ̄ ̄
|:|( ´Α`)< うるせー馬鹿!
|:|_):∵:( \_____
\:∵:∴:\
|∴:∵ l::|
|∵:∴ |::|
/∴:∵/|::|
|ii;∵;i/ |:|
|llll||lll| U
|llll||lll|
/ll/ |ll|
/l/ |ll|
/l/ |ll|
/l/ |ll|
ν ν
0157デフォルトの名無しさん
NGNGスミマセンそれオレです
0158デフォルトの名無しさん
NGNGDelphi IDE から起動した場合はフィールドをフォームにドラッグ&ドロップできるが、
別プロセスとして起動した場合にはできないのは不便だ。OLEドラッグ&ドロップで
実現するようにしてもらいたい。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGパスカルだし今後のLinux進出考えればC++のがUNIX系の
歴史的に有利だし。デフォで生成されるコードをパスカルに
するかC++を選べるようにとかしてさぁ。。。
0161デフォルトの名無しさん
NGNGぃぬ厨がより高級な言語を理解できるとも思えんが
0162デフォルトの名無しさん
NGNGでもC++とDelphiのコンパイル・ビルド速度が愕然とするほど違うんだよなあ。
(Delphiのほうがはるかに速い)
両方やるとC++がつらい…
0163160
NGNGおれCやC++の膨大な資料を活かしたくて最近BC++5.5.1
ゲットしたす。開発効率のDelphiか、資産のC++か。
なんかDelphi持っててC++Builderも買う気もせんし。
0164デフォルトの名無しさん
NGNGC#はどうだろ?モノは良くともMSしかやらなそうだもんなぁ。
Red hatパッケージにでも入らん限りBorlandは黙殺だろ。
JavaもLinuxブレイク以前はアンチMSの支持集めてたけど
今はimodeくらいしかパッとせんし。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGDelphi, C++Builder 同様、ネイティブコードも吐き出せるようにしたとする。
そうなると今後 Delphi, C++Builder が売れなくなるだろう。
一番よい方法はそれぞれが単体でなくひとつに統合すればよいなと思う。
そうすると価格が上がり買われなくなるから、基本統合環境にアドインする
方法でもよい。
Delphi で開発した既存の資産も利用できるようにしないとダメ。
0168デフォルトの名無しさん
NGNG1パスでコンパイル速い以外に、なにか理由あんの?
0169デフォルトの名無しさん
NGNG>1パスでコンパイル速い以外に、なにか理由あんの?
純粋 Pascal ってクラスとか使えないでしょ?
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGいや、だからなんでPascalなの?って事
0172デフォルトの名無しさん
NGNGDelphiに関しては、Turbo Pascalっていうブランドがあったから。
ブランドで売れると。
Turbo PascalがなんでPascalかってのは、その開発当時はまだ
Pascalは結構普通だったからってのはあるんでは。
アルゴリズム関連の本はPascal多かったし
0173デフォルトの名無しさん
NGNG機能追加や保守で精いっぱい。
もう新しい言語にチャレンジする体力が無いのさ・・
でもIDEのエディタは何とかして欲しいもんだな。
0174デフォルトの名無しさん
NGNG当時はまだMacなんてPascalがメーカー推奨の
標準開発言語だったよね。いまやコードウォリアーも
見限った感ありだが。確かに最近始めた人にはなんで
パスカルかわからんのも仕方ないと思う。
0175デフォルトの名無しさん
NGNGストロング・タイピングなのでC/C++よりもコンパイルの段階でバグを見つけやすく
大文字小文字を区別しないのでコーディングしやすい
という利点がある
0176デフォルトの名無しさん
NGNGそういえばこれもObjectPascalって言ってたけど
Delphiのとどうちがうんだろか?
0177デフォルトの名無しさん
NGNG大文字と小文字は同一文字の異なる形態というだけなので
それらに異なる意味を振ることができると人間の勘違いミスを
招くってことで同一視のほうがエラー予防になるってことじゃ
なかったかな。
0178デフォルトの名無しさん
NGNG0179名無しヘタぐらまさん
NGNG恐らく,ターボパスカルのボーランドだからでしょう.
マイクロソフトがベーシックにこだわるのと同じで.
>>176
ANSIが標準化をすすめてきたC/C++と違って
標準的なオブジェクト指向パスカルは存在しないようですから,
各社が勝手に拡張してオブジェクトパスカル
と名乗っているだけなのではないかと.
(そのためか,一部Delphi書籍では
Delphi Pascalという言い回しを使っています)
ちなみにボーランド自身も,
デルファイの前身であるターボパスカルは
後期にオブジェクト指向言語に拡張していたようですが
デルファイになった段階で仕様が変更されています.
(互換性のためにターボパスカル式の記述もできるようです)
0180デフォルトの名無しさん
NGNG”VBがインタプリタだったのに実行までに非常に時間がかかる” <-当時ね
というのがあったから、TurboPascalの超絶的コンパイル速度
を非常に大きなメリットとしてぶつけられるというような戦略もあったのでしょう
実際、少し大きなプロジェクトだとVBは実行が始まるまでコーヒーが飲めましたからね
Delphiの速度があれば、コンパイル&ゴーを繰り返すスタイルで開発出来ます
デバックがある程度できればそれをモジュール化してゆく訳です
C++Builderの速度だと、ある程度 コーデングデバックも混ぜて
デバックが済んだモジュールは出来るだけ触らないようなスタイルになって
しまいますよね
0181デフォルトの名無しさん
NGNGコンパイル速度はなるべく早く保つというのは
重要な事だと主張されていますね。
0182デフォルトの名無しさん
NGNG>Borlandにはもう天才プログラマはいない。
>もう新しい言語にチャレンジする体力が無いのさ・・
そうとも言えないようだよ http://mentai.2ch.net/test/read.cgi/bsoft/998629435/29-31n
体力が無いのはヘジ、Delphiが売れたのはVBの失敗らしいYO!
0183デフォルトの名無しさん
NGNGhttp://piza2.2ch.net/test/read.cgi/tech/990101968/116-169
0184デフォルトの名無しさん
NGNG本当に技術がある会社ならば、その素晴らしさを新規開発の言語に投入できる
のではないだろか?
DelphiはPascalを独自仕様で拡張してるわけだが、
あのOOP拡張はPascalそのものとは左程相性がよいとは思えない。
新規開発をやらなかったのは、技術的に、過去の資産を使いまわしたのだろう、と思う。
爆速コンパイラの。
#もちろん、ブランド名とかも使いまわした。
悔しい(?)がC#は後発なだけあって、言語仕様だけ見ればDelphiより良い面が沢山ある。
別にC#でなくてもいいのだが、そういう新しくて良い面を、Delphi(または類似品)に
どんどん投入して欲しいものだ。Borlandにその技術があるならば。
0185デフォルトの名無しさん
NGNGでも、Pascalを独自拡張で限界がきているわけではないから
C#を取り込みつつ既存DelphiPascalを大幅に越える方法があると思う。
0186デフォルトの名無しさん
NGNGはっきり言って怠慢以外の何ものでもない。
C#が良いならC#に移ればよい。
今後Delphiに出来るのはC#の後追いだけ。
0187デフォルトの名無しさん
NGNG確かに限界なんかは来てないのだが、
微妙な面倒さが少しづつ積もってきている。
たとえばプロパティ定義。delphiだと、メソッドの宣言、プロパティ自体の宣言、
そしてメソッドの実装、とわざわざ三箇所に記述を分散しないとならない。
(そのくせC++と違ってソースを分割することも出来ない)。
javaやC#のように一箇所にまとめられるほうが良いと思う。
言語仕様は、現状に「追加」するというよりも、時として「変更」して欲しい。
まぁ従来のを互換性の為に残すのは仕方ないが、もっとすっきりした構文とかを
順次導入して欲しいと思う。
0188デフォルトの名無しさん
NGNGゲイツ以外の実装が出てくれば、
安心して移る(というか併用:Delをやめる必要もまた有るとは限らない)
ことが出来るんだが…。
どっかの誰かがGPLでC#互換実装を作ってるって噂は本当でしょうか?
なお同じことはJavaにも言える。
AnyWhereっていってもVMが移植されてない環境ではねえ…。
Kaffeでもしとくか。
0189デフォルトの名無しさん
NGNGpropertyに拡張指定子でSetとGetメソッドの記述省略可能になってほしいね。
内部フィールドもpropertyのreadとwriteで記述可能にするとよさそう。
0190デフォルトの名無しさん
NGNG自分はJavaユーザーだけど
はっきりいってうざい
煽りたくもなるってばよ
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGJavaスレの上がりっぷりはもっとウザイのを自覚せえよ(w>190
Javaスレ立てすぎ&バージョンとかメーカー毎に立てるのヤメロ
情報が分散し過ぎ
0194デフォルトの名無しさん
NGNGいやJavaがどうのこうのじゃなくて
Delphiスレあげすぎでうざいって言ってんだけど
通じないかなあ
0195デフォルトの名無しさん
NGNGぷぷぷ、Javaユーザーって心が狭いね(w
0196デフォルトの名無しさん
NGNGカスJava消えろゴミくせえんだよ
0197Java
NGNGWIDOWSしか使えん奴らに何言っても無駄だったな
わりいわりい
0198デフォルトの名無しさん
NGNGDelphi使えばいいのに(笑
Javaダサすぎ(藁
0199デフォルトの名無しさん
NGNG君達には難しいかな
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG君達には難しいかな
0202デフォルトの名無しさん
NGNGDelphiの言語仕様を新しく考えるのなら
名前空間はしっかり考えて実装してほしい。
同じTxxxというコンポーネント名でも名前空間がしっかりしていれば
同時に使えると思われ
0203デフォルトの名無しさん
NGNG童貞という言葉にやたらこだわるね
なにか気がかりでも? (w
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG-------------------------------------------
あいかわらずヘルプはいいかげんだ。
InterBase Express (TIB...) なんか C++ のになってる。
確信犯としかいえないぞ! > 某
0206デフォルトの名無しさん
NGNGDelphiで作るの楽だから使ってます。今後のBuilderに期待。
0207デフォルトの名無しさん
NGNGIBX は Borland の管理物ではなくなったから,しょうがないんじゃ?
英語版からだし.
0208デフォルトの名無しさん
NGNG> IBX は Borland の管理物ではなくなったから,しょうがないんじゃ?
Del6にはどうやらBuilder用のやつを付けてると思われる。
標準コンポーネントとしている以上ドキュメントはきっちりしないとだめだろう。そんなのは理由にならないぞ。
このことは別にIBXに限った話じゃないことを言いたい。
おれはC++もやってるから理解できるが、それとこれとは話が違う。
高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
はいそうですかで納得するヤツの気が知れないな。>某信者諸君
Delphiというより某に対してだったな。(Delphi自体は最高だと思ってる。)
0209デフォルトの名無しさん
NGNG何に対して怒っているのか理解できないな
Pascal 表記のヘルプがないことがそんなに問題かい?
0210デフォルトの名無しさん
NGNGみんな英語だった、って状況と似てるな。
「日本語版」なんだから全部やれよ
0211208
NGNG言いたいことは
208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
あと最近はどうかしらんがサポート担当者の対応がいいかげんだった。(ど素人って感じだった。)
他ベンダの製品と比べるといいかげんさがわかる。Del自体はすばらしいのに。
0212デフォルトの名無しさん
NGNGIBX のヘルプは、全部日本語じゃん。
>>211
他ベンダって、どこだよ。
今、日本で開発ツールを提供している会社、どれだけある?
208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
これが間違いの元でしょ?
金を払ったからといって、どんな要求でも通ると思ってはいけない。
ツールの使用権を買っていると思えば怒る気もしない。
0213208
NGNGなにも開発ツールに限定した話ではないがな。
>208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
>これが間違いの元でしょ?
>金を払ったからといって、どんな要求でも通ると思ってはいけない。
>ツールの使用権を買っていると思えば怒る気もしない。
俺が言ってることが特殊な要求か?
最低限のことを言ってるつもりだぞ。
ところで君は金払ってるお得意様に対してそんな態度とってるのか?
0215デフォルトの名無しさん
NGNG野放しにされている部分は確かにあるだろう。
あきらめている人間はたくさんいるだろうな。
ドキュメントがないと宝の持ち腐れなのだから
大切にしてもらいたい。
0216デフォルトの名無しさん
NGNGそっちのほうこそどうかして貰いたい。
IBX のヘルプなんか、訳されているだけでもありがたいよ。
0217デフォルトの名無しさん
NGNGとかやったら TList の Public / Published な メソッド プロパティだけ
全部抽出したのが定義出来たらいいのに・・・ 出来るのかな?
0218デフォルトの名無しさん
NGNGできない。
0219デフォルトの名無しさん
NGNGついでに pointer型だけでいいから
IMyList = interface (IList in TEdit);
とかやればプロパティやメソッドの pointerの部分が TEeditに
なるようにしてよ
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGそんなことして何がうれしいの?
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGhttp://community.borland.com/article/0,1410,27603,00.html
0224デフォルトの名無しさん
NGNGこの記事いいね。
テンプレートは強力なインライン展開をするマクロとしても使えるが、
その辺はさすがに代用は手段はないか・・・
ま、元々マクロやインラインが不要と言う方向性の言語だろうし。
無理にでも、やるとするとプリプロセッサ作るしかないわな。
0225デフォルトの名無しさん
NGNGなんとかしてVBマンセー上司にDelphiの良さを伝えて、
Delphiで開発を行いたいのだ。
上司を説得するにはどうすればよい?
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGまあ結局は作ってみせるしかないと思うよ
でも、その話題、あんまりやると板全体が荒れるから 出来れば移動して欲しいな
0228デフォルトの名無しさん
NGNGその上司が本当にツールの限界を理解していれば、だけど…。
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG0231
NGNGUnixは、cだよな〜
まるちはJava。
おれはもっぱらじゃヴぁ
0232デフォルトの名無しさん
NGNG0233225
NGNGわかった。
マ板へと移る。
他にもレスくれた方々感謝。
0234デフォルトの名無しさん
NGNGたとえば interface をメソッドに付けると
インスタンスにローカル変数用のスタック領域を取るように変更される
SPを切り替えてしまうとOSから例外が出てしまうから
BPだけを使うようにする
メソッド内部で switch(引数) のように呼び出すと 外から見たらreturnして
帰って来たように見え、外部からそのメソッドを呼び出すとswitchの所から
処理が継続するような仕掛けね
0235デフォルトの名無しさん
NGNGビジュアル開発環境との相性の点で疑問
コンポーネントはコンパイルされていなければ設計時に使えないのだから
0236デフォルトの名無しさん
NGNGそれなにに使うの?
0237234
NGNG例えば、 圧縮展開なんかのメソッドを
function Thoge.get:char;interface;
begin
・・・処理・・
switch:=c; //ここで同期的にスイッチしてcharを一旦返す
・・・処理・・
end;
と書けます。
このメソッドでデータが出来る都度 switchで外に出し
外から見ると getを連続して呼ぶだけで扱いが簡単です
0238デフォルトの名無しさん
NGNGオモロイね。オブジェクト指向とちょっとかぶってるかな。
ところでinterfaceというのはどこから来た言葉なの?
0239234
NGNGそれと、複数のコルーチンメソッドを持った場合は
switch put(c); //putを呼んだルーチンに帰り、引数cを貰ってくる
switch get:=c: //getを呼んだルーチンにcを帰り値として渡す
みたいにメソッド名で識別できると便利
つまり、パイプみたいな処理を低負荷で出来る
0240236
NGNGなるほどよく分かった。でもちと言語レベルでサポートするには
仕様が複雑すぎると思う。
アセンブラごりごりなコードを書けばコンパイラに頼らなくでも
実現できそうだ。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGCのような演算子のオーバーロードじゃなくて メソッドの定義で
operator "演算子名"( 引数1,引数2) ;優先順位;
型は指定しなくてもそのクラスの型になる
引数が1個なら1項演算子、2なら2項演算子 3項演算子は不要
使う時は c:=a "*" b みたいに "演算子名"でいいや
演算子の優先順位は整数の範囲で大きい程上って感じ
0245244
NGNG0246デフォルトの名無しさん
NGNGカスタムバリアントを使え。
0247244
NGNG0248通りすがり
NGNG誰も使わないVariantに少数派の要望をねじ込んだ、実にうまい手だ!
0249デフォルトの名無しさん
NGNGif A then
A := B
else
A := C;
を if A ? B : C とかそんな風にかけると、ソースコードの行数が結構減らせてイイ!!
しかも、A の真偽に応じて、B,Cの一方だけしか評価しない奴。
0250-
NGNGここで発言てみたいだけなんとちゃうんか?
と問いたい問い詰めたい。
function Iff();
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG>A の真偽に応じて、B,Cの一方だけしか評価しない奴
この要求を満たしていない。
0253デフォルトの名無しさん
NGNG評価なんてしないと思うが・・・
0254Delフサギコ
NGNG評価しない=functionの中身が呼ばれない
MathユニットのIfThenと比較するとよくわかるニャ
 ̄ ̄∨ ̄ ̄ ̄
∧,,∧
ミ,,゚Д゚彡
ミ つ[ 三項 ]).
〜ミ ,, ミ
∪∪
function TrueValue: Integer;
begin
Result := 1;
ShowMessage('Trueってヨシ');
end;
function FalseValue: Integer;
begin
Result := 0;
ShowMessage('Falseってヨシ');
end;
type TIntFunction = function: Integer;
function IfThen(AValue: Boolean; ATrue: TIntFunction;
AFalse: TIntFunction): Integer; overload;
begin
if AValue then
Result := ATrue
else
Result := AFalse;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption := IntToStr(
IfThen(True, TrueValue, FalseValue));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button2.Caption := IntToStr(
IfThen(False, TrueValue, FalseValue));
end;
0255デフォルトの名無しさん
NGNGこの要求を満たしていない。
0256重箱の隅つついていい?
NGNG>if A then
>A := B
>else
>A := C;
AはBoolean型の変数でないと使えない。
Cの三項演算子は A=B?C:D; だよ。
0257Delフサギコ
NGNG>>254の他の欠点は
type TIntFunction = function: Integer;
引数なしFunctionしか受け付けていないところ。
引数ありFunctionの場合、定義が必要になるのは面倒すぎるので
外部に公開するFunctionを
type TIntMethod = function: Integer of Object
にしてみた。
_________
∧,,∧ /
ミ;゚Д゚彡< 悪い予感が…
ミつ つ \
〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪∪
////////////////////////////////////////////////////////////
type
TFuntionClass = class(TObject)
public
class procedure SetTrueValue(Value: Integer);
class procedure SetFalseValue(Value: Integer);
class function TrueMethod: Integer;
class function FalseMethod: Integer;
end;
{ TFuntionClass }
var
TrueValue, FalseValue: Integer;
class function TFuntionClass.TrueMethod: Integer;
begin
Result := TrueValue;
ShowMessage('Trueってヨシ');
end;
class function TFuntionClass.FalseMethod: Integer;
begin
Result := FalseValue;
ShowMessage('Falseってヨシ');
end;
class procedure TFuntionClass.SetTrueValue(Value: Integer);
begin
TrueValue := Value;
end;
class procedure TFuntionClass.SetFalseValue(Value: Integer);
begin
FalseValue := Value;
end;
////////////////////////////////////////////////////////////
0258Delフサギコ
NGNGfunction IfThen(AValue: Boolean; ATrue: TIntMethod;
AFalse: TIntMethod): Integer; overload;
begin
if AValue then
Result := ATrue
else
Result := AFalse;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TFuntionClass.SetTrueValue(100);
TFuntionClass.SetFalseValue(200);
Button1.Caption := IntToStr(
IfThen(True, TFuntionClass.TrueMethod, TFuntionClass.FalseMethod));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
TFuntionClass.SetTrueValue(300);
TFuntionClass.SetFalseValue(400);
Button2.Caption := IntToStr(
IfThen(False, TFuntionClass.TrueMethod, TFuntionClass.FalseMethod));
end;
_________
∧,,∧ /
ミ;゚Д゚彡< Pascalに三項演算子は似合わないって事でよい?
ミつ つ \
〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪∪ 書いていて鬱になるコードだ.
0259Delフサギコ
NGNGTrueMethodとFalseMethodをInterfaceで定義しておけば
場面に応じてそのinterfaceを定義したクラスを作り
使いまわしの出来るコードが作れるかもしれないけど
ネコは嫌になったからもうしらない。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ ウツダ
ミ,, ゚Д゚彡
〃 つ旦~~
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
TFunction = function integer
と
TAFunction = function(Value: Integer): Integer
も継承関係にあるべきと思うのはおかしいかしら。
0260デフォルトの名無しさん
NGNGDelphiは同じ処理を表現する手段がCより少ない事が メリットの一つだと思いますから
無くても良いような機能は増えて欲しくない
0261デフォルトの名無しさん
NGNGif aaa
bbb;
else
ccc;
の省略記法以上のものではないのだから、下手な細工はやめて if 文で
書いたら?
それに C の三項演算子、決して見やすくないよ。
0262Delフサギコ
NGNGミ,,゚Д゚彡 < >>260-261 リョカーイしまツた
U ミ \____________
ミ ミ
ノ∪∪ 誤ったドツボにはまってシマテタ ノネ
0263デフォルトの名無しさん
NGNGJavaDocみたいなのがほしい。
あるいは有志で整備するか。
0264デフォルトの名無しさん
NGNGとにかくコンポーネント名がダブってもよいしくみにして。
delphi.TObject
delphi.TComponent
delphi.TControl
...
com.borland.TDelphiExComponent
...
mydomain.TMyComponent
...
0265デフォルトの名無しさん
NGNG三項演算子だけ欲しかった。
Ver6からのVBの関数互換はヤメテクレーって感じ。
0266Delフサギコ
NGNG\,,,,ミ,,゚Д゚彡 < >>264 ドウイ
⊂,,,,,,,,,つつ. \_
TCommandなんていう名前定義するの、ドキドキするYO
TFusaGikoCommandで
TFGCommandと命名する方式はとてもカッコワルイ!
CLXとVCLとで名前空間を別に出来ているのだから
ユーザーにも名前空間別にする処理を提供してほしい。
C#みたいに完全に階層構造じゃなくても
パッケージとユニットの2段階層があればかなり便利になるのだ!
0267デフォルトの名無しさん
NGNGObj.ClassName が返す名前をどうするの?
0268デフォルトの名無しさん
NGNGユニット=Classes
カテゴリ=クラス処理ルーチン
function FindClass(const ClassName: string): TPersistentClass;
名前からClassを得るという活用方法が有るのだから、これでよかろう?
なお
procedure RegisterClass(AClass: TPersistentClass);
を忘れるな!
0269デフォルトの名無しさん
NGNG同じ名前をもつクラスをひとつのプログラムに同居させたい。という話をしているんですが。
0270デフォルトの名無しさん
NGNG今は型付き定数やユニットローカルな変数で代用してるけど。
0271デフォルトの名無しさん
NGNG0272Delフサギコ
NGNG@,,,ミ,,゚Д゚彡 < 関数などはあとがきuses Unitが優先選択されるのだから
⊂,,,,,,,,,つつ. \ クラス名も後書きuses Unitが優先されたりはしないの?
完全な名前空間でなくても便利ならいいんだしー
0273デフォルトの名無しさん
NGNGそれは(プログラム)スコープの問題でしょ?
フォーム上のコンポーネントをプログラム実行時に .dfm から復元するときに
コンポーネントのクラス名から vmt を特定してインスタンスを作成しなきゃ
いけない。このときのスコープはどうなっていれば良いと思う?
極端な話、TMyComp が二つのユニットで別々に定義されていて、それをひとつのフォームで
一緒に使いたい場合を考えてくれ。
.dfm にどのような情報を載せれば二つを区別できるのか。
ってことで結構大変。フォームのことを考えないんなら、ユニット名による
名前空間管理で結構何とかなるんだけどね。
0274Delフサギコ
NGNG(,,,,,,,ミ,,゚Д゚彡 < なるほど。
⊂,,,,,,,,,つつ. \_
dfm読み出すとき対応するユニットからクラスを類推するのはだめ?
現状でもpasのないdfmのみだとインスタンス生成しないよね。
もしくはdfmの書式を変えてしまうとか?
0275デフォルトの名無しさん
NGNGあんまり綺麗じゃないと思うけどなあ
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGそんな貴方にCLXをどうぞ
0278デフォルトの名無しさん
NGNGまともにやると Win98/Me で動かなくなるしぃ
0279デフォルトの名無しさん
NGNGドッキングもサポートしてないし。
バグまみれだし。
Kylix2が発表されたが期待していいのか?
0280デフォルトの名無しさん
NGNG個人的にはバリバリにLinuxに最適化して使い勝手を上げてくれた方が嬉しいのだが。
Win環境でVCLを捨ててCLXを選ぶのはデメリットが大きすぎる。
それでもクロスプラットフォームの方がメリットがあるのかな。
0281デフォルトの名無しさん
NGNGそれはXP次第だろうな。レジストレーションを避けて
チケット予約端末なんかのLinux化は進行すると思われ。
0282デフォルトの名無しさん
NGNGチケット予約端末に組み込まれる Windows に個別のアクティベーションが必要なのか?
0283デフォルトの名無しさん
NGNG全ての型付き定数が代入を許してしまうので、
定数では無くなるのでは?
0284Delphi on WinXP
NGNG実行したアプリを終了すると、XPが十数秒固まらない?これバグなの?
0285284
NGNG0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNG0288286
NGNG会社でゲーム作ることになったんだけど
画像処理にポインタ使いまくるし
0289287
NGNGいやキャストってどうやってるのかなって・・・
ポインタに整数値で前後させたになら -->inc/dec
ポインタからの相対番地を使う---->配列をポインタにabosoluteして使う
0290287
NGNGそれならアセンブラ使った方が綺麗かも
0291286
NGNGあれ?ポインタに Inc()/Dec() って使えたっけ?
どーも Inc(Integer(p), line_span); とかしないと
コンパイルエラーが出るなーと思って悩んでたんだけど・・
ちょっと今から試してみます
「配列をポインタにabsolute」の技は知らなかったです
Integer() キャストして Pointer() キャストしてて,鬱になってました
ありがとうです。。。
0292286
NGNGずばり,24bitColor の処理です
アセンブラっすか
腕に自信はないけど,ちょうど勉強し始めた分野だー
0293287
NGNGInteger型のポインタならInc/Decで±4されるよ
0295286
NGNGすっかり忘れてたっすわ・・・(;´Д`)ァゥァゥァ
0296287
NGNGprocedure func(src:PByte);
type T24Color=packed record
r,g,b:byte;
end;
T24ColorArray=array [0..10000]of T24Color;
var pc:^T24Color absolute src;
var ac:^T24ColorArray absolute src;
begin
inc(pc);
with ac^[1] do begin r:=2;g:=3;b:=5;end; <--- 最初のsrcの6,7,8
inc(pc,5);
with ac^[2] do begin r:=1;g:=2;b:=3;end; <--- 最初のsrcの8*3番地
0297286
NGNG0298デフォルトの名無しさん
NGNGHKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Debugging を 0 にしてみたら?
結果連絡よろしく
0299デフォルトの名無しさん
NGNG0300
NGNGJavaスレは一体.NETのなにと戦っているんだろう?
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG当然の決断だろうなー。
だけんども、CLIのコードはけるくらいなら、
JavaVMのコードもはけるようになれば面白いのに(冗談
0303デフォルトの名無しさん
NGNG符号付きの変数に対してDIV 2とか定数の割算ならSARになるけど
変数でシフト数を指定したい場合もあるんだから
え? インラインアセンブラ使えって?・・・・ハイハイ
0304デフォルトの名無しさん
NGNG分かっているじゃないか。インラインアセンブラ使え。
アセンブリ言語にベッタリ癒着した演算子は基本的に
Pascalとマッチしない。
0305pocotin
NGNGネイディブはもちろん.NETも対応してほしい。
0306テキストプログラマー@delphi1ポン
NGNG理由
1.豊富なコンポーネント実はほとんどフリーウェア(INDYはMPL、FASTNETも古いものなら)
2.WINAPI関連コンポーネントのバグはなおすきなし
3.やっと3DNOWとSSEに対応したインラインアセンブラ
でもとき遅しすでに直接コーディングが身にしみている。あとはNASMとか
もう3DNOWもないだろうし
しかもExentiaがあれば取敢えず十分だろう。辺鄙なコードは
4.データベース関連コンポーネントの依存度大きすぎ
あとなんかぜいたく品扱いなのがおかしい。ADOexpressとか
Windowsに標準搭載されているもので
VBSで数行でADOが実装できるというのに...
5.LINUXを強調しているけれどX86のPCならWindowsだけで十分
マルチプラットフォームならばWin−CEかMacじゃなきゃ意味なし。
6.改善されない馬鹿でかEXEファイル、glutみたく400kbyteぐらいのランタイムが
あったほうが使いやすい
7.DirectXにもSAPI5にも未対応、というかACTIVE−Xに動的に対応できないのは痛い
というわけで最近はコンポーネントを使うものはdelphi3pro(ファイルサイズ180kbyte)
あとのプログラムはdelphi5 learningです。
ゲームプログラマーなのでコンパイラーとしてのdelphiは好きですが
コンポーネントはAPIのテスト以外まったく使いません。こてこてのメモ帳型プログラマーです。
ところで業務・商用利用できるdelphiで一番安いのはD5−learningです。お店にあったら買いではなかろうか..
使いませんがべたのWin32APIでなくてKOL&MCKでも100kbyte以下のプログラムを作れるみたいですね。
あとなんかD6は関数が増えたっていうけれど手持ちのものより優れているとは思えんし
なんかメモリリークおきやすいとか悪いうわさもある。
コンパイラがP3最適化できるとか何かD6購入動機があればつっこんでくりー
明日がタイムリミット
0307デフォルトの名無しさん
NGNG> マルチプラットフォームならばWin−CEかMacじゃなきゃ意味なし。
ここだけ妙に主観的。
0308デフォルトの名無しさん
NGNGLINUXな人にならWinでも入れてといえるけどMacにゃ物理的に不可能でやんしょ。
つーかCPUが違わなきゃ、マルチOSっていうなぁ。
最近はPC安いからWinだけに対応しときゃ、最悪PCとソフトセットにしてもよいと思ふ
こっちの手間が省けることが最優先
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGVCLやObjectPascalがコンパイラマジックに依存しているので、
面倒なんじゃない?
まず、Mac用のObjectPascalコンパイラをつくらなあかんよって。
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG>なんかメモリリークおきやすいとか悪いうわさもある。
これは噂だな。知られているバグは Update でつぶされている。
なんつーか,某 ML 「のみ」を情報源にすると判断誤るから気をつけた方がいいよ。
D6Update で RTL の文字列コピー関連のコードが PIII 系最適化されたし,
マルチスレッド周りの微妙なバグもだいぶとれているし。
RTL でかい。ってのはソース付属の Delphi の利点を捨てているわけで。
機能を追加するのは Borland に任せて,自分で使うときは機能を削ぐ。
ドッキングを使わないアプリを作るのなら,その部分をコメントアウトしちゃえば良い。
ADOexpress は Pro 版には標準装備だろ?
順序逆だが
1.豊富なコンポーネント実はほとんどフリーウェア(INDYはMPL、FASTNETも古いものなら)
これは間違い。Indy だけが MPL.
TeeChart も QuickReport も FastNet も商品の一部。
2.WINAPI関連コンポーネントのバグはなおすきなし
これは具体的に何?バグがないとは言わないが,あらかた直っているとも思いますが?
5.LINUXを強調しているけれどX86のPCならWindowsだけで十分
CBuilder の ARM 版が今度でるでしょ?発表がありました。
海外のサイトの噂では CLX ベースになるそうで。
7.DirectXにもSAPI5にも未対応、というかACTIVE−Xに動的に対応
MS 以外の言語の中では一番充実していると思っていますが?
D7 も D8 もガンガン使ってコードをかいている方がいらっしゃいますが?
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGまあ確かにそうなんだけどね
0315デフォルトの名無しさん
NGNG>CBuilder の ARM 版が今度でるでしょ?発表がありました。
ギャーマジ?
パスカルないの?
0316Delフサギコ
NGNG∧,,∧ /
ミ,TДT彡 < そんなんできません。ってば。
ミ つ且~~ \
〜ミ,,,,,, ,,ミ ダレ? イッタイダレガ.... ソンナワザヲ...
> ところで業務・商用利用できるdelphiで一番安いのはD5−learningです。お店にあったら買いではなかろうか..
ンー、ト。金儲けするのにPro版の数万円をケチルというのは
ちょっと体質的にどうかと....思われ
プログラマだって雇っているだけで金が減っていくわけだし。
0317デフォルトの名無しさん
NGNGうーん。カスタム VCL ってどこでもやっていることだと思っていたのだけど。
個人レベルだとメンテナンスが大変かもしれないけど、企業ユーザーなら困難では
ないと思いますが。特に自社製コンポーネントの再利用で生産性を上げられるの組織なら
カスタムフォーム/カスタムメモリマネージャを用意することに違和感はないと
思いますが。
0318デフォルトの名無しさん
NGNGライセンスの問題でライブラリとしての配布は出来ないんだろうね。でも欲しいなあ。
0319デフォルトの名無しさん
NGNG各種バグレポートを集めておいて、パッチを当てたライブラリを用意するくらいの
ことはするでしょ?それの延長。
System/SysInit 以外は、ターゲットプロジェクトに VCL ソースを投げ込んじゃえば
好きに改造できるし、デバッグも楽。あとで各プロジェクトごとに書き換えたソースを
回収するとき大変だけどね。
0320306
NGNG12/28着にもかかわらずバグ含みのCD-ROM...作ったCD-ROMはなおさんのかい??
アップデートしようと思ったら許諾コードとかやらが必要とか...うーむ
でアップデート前にフォームだけで400kbyte強、アップデートして360kbyte強
バージョンだけでなくてファイルサイズもDel3の倍???
たくさんあるコンポーネントも似たようなものばかり、
てっきりフォーム関連についてはD5よりもましになっていると思ったんだけど
なんとフォームを使わないプログラムでもファイルサイズが肥大するようです。
SULLACOのOpenGL 64Kbyteデモが192kbyteになるのはちょっと笑えた...
仕方がないのでKol導入、ただし信頼性が...
CLXだけどこいつはだめですね、dll必須とはどこにもかいてなかった...
>>312
ADO関連ってボーランドがえばるようなもんでもないでしょ。
VBScriptでも使えるんだし
あとドラッグアンドドックはかなり深いところまでちらばっていて
これをはずすというのはVCLほとんど書き直すようなもんで
そんなことすんならばWin32APIでアプリ作ったほうがまし
というよりDelphi3でフォームをdllにするという手が...
1.Fastnetはフリーダウンロードできます。
2.OLELOADPICTUREの宣言が間違っているので使えない
といっても自前で宣言すればいいのだけれども
5.がんがんコードを書いているというのはMSのヘッダーからの変換も含めてです。
これってTformのソースを1から書いているのとおんなじ
本来OSのAPIなんだからコンパイラ側で用意するのが当たり前では?
結局ボーランドはだめだから自前でということではないかと....
さらに ZLIBはまだ1.04、Jpegも古いライブラリー(a)
OpenGLは1.0、Winsockは1.1
全部自前で再構築が必要、やっぱりやる気がないとしかいいようがない。
まっとうに考えるのならばWinMeやWin2KでのMSのライブラリーくらいは
ちゃんと変換しておいてほしいのだけどどうみてもD6のそれはWin95、NT4レベル
ただし送付されたCD-ROMにはフリーウェアとしてJEDIのヘッダーがついていました。
OSレベルのヘッダーまでフリーウェア依存というのはやはり問題では?
というよりCD-ROMに入れなくたってURLを入れれば十分では?という感じです。
(それにしてもdelphi2だけのためにあるようなNKdibとかがあるのはなぜ??)
まぁそれでもIDEはそこそこよいと思いました。
コンポーネントを使わないばあいててでもまぁまぁ使えるようにはなったと思います。
あと購入の決定打はインストールシールドが今っぽいところですか..使わないけど
その他はSocketcompがWSAルーチンをきちんと入れているようなのでフリーズ必須ではなくなったみたいです。
インターネット関連のボーランドキラーなソフトを作るにはよさそうです。
ただし古いWindockのみ対応
取敢えず開発環境はD6でいいけれど
ソースを流用してD5でコンパイルしたほうがサイズもスピードも速いんじゃないか
というのが私の結論です。
0321デフォルトの名無しさん
NGNG0322ねこま
NGNG>OSレベルのヘッダーまでフリーウェア依存というのはやはり問題では?
せっかく JEDI が作ってくれているのだから borland がわざわざ作りなおす事もないでしょう.
ヘッダなんて2つもいらないです.
JEDI の勇士だってバンドルされて喜んでいるでしょう.
borcon 招待されるし,D6 もロハで貰えるし(w
>というよりCD-ROMに入れなくたってURLを入れれば十分では?という感じです。
すべての人がネットに接続できるとは限らないでしょう?
CD-ROM の容量余っているんだから入れたって別にいいと思いますが
とか言う私は今回はじめてバージョンアップを見送りましたが
良いお年を
0323デフォルトの名無しさん
NGNG全面同意、ああたは賢い!!
0324デフォルトの名無しさん
NGNG個人的にはDelphi.NETには、Delphi#よりもUnmanaged Object Pascalになって欲しい。
VC++.NETと同じくCLRに乗ってなおかつネィティブコードを吐くやつ。
実現すれば、C#に限りなく近い言語機能でC++並みの実行速度を誇る.NET最強言語の誕生だ。
で、実際のところDelphi.NETってどうなんだろう…
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG#が付くと(safe/unsafeは別にして)中間言語を吐き、 (→ C#, Eiffel#)
Unmanagedが付くとネィティブコードを吐く (→ Unmanaged C++)
「気分」でいました。(ダメ?
0327デフォルトの名無しさん
NGNG324, 326のUnmanagedは、全てManagedに訂正。
うわー、恥ずかしい… (ツッコミありがと
0328デフォルトの名無しさん
NGNGつうかdelphi自体インターネットに接続しなければBug修正もできないものなんだし
各フリーウェアはみんなインターネットでのみのサポートだということをお忘れなく
そもそもCD-ROMの容量があまってんじゃなくて
わざわざもう一枚のCD-ROMにぎっちりフリーウェアが入っているんですけれどもね、
というかバージョンアップを見送ったねこまさんは
D6-Proがいかに問題があるか体感していないからそんなことがいえるんでしょ。
オーバーロードとかInt64とかフォームのテキスト化とかもあわせて
delphi5が頂点だと思うよわたしゃ(次点delphi3)
0329デフォルトの名無しさん
NGNGあとdelphi6personalよりfreePascalのほうがよさげだ
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG手続き型にフレームアドレスが含まれてるとか、それほどオブジェクト指向
しない場合はよさそうだね。
日本語通るか知らんが。
0332デフォルトの名無しさん
NGNGKylix もバグだらけだし、某国どうしたんだよ。ちゃんとまともなものリリースしろよな!!!
0333デフォルトの名無しさん
NGNG>もうDelphiバージョンアップしないでいいから
んなこたない
IDEにTestingFrameworkとUMLデザイナを統合する作業が残ってる
0334デフォルトの名無しさん
NGNGでるパイ?
0335デフォルトの名無しさん
NGNG正解。
0336デフォルトの名無しさん
NGNGとりあえずclassesとsysutilsは捨てたほうがよさそうだ
なんかHTMLデザイナーみたいなのでフォーム作って
privateに変数宣言してWindowcreate時に動的生成するクラスがいいかなぁと思ったけど
kolというのがすでにやってた。
やっぱ社名をインプライスにした時にdelphiは終わったんだろうか?
IDEやおまけの関数は増やさなくていいから
コンパイラでせめてターゲットCPUオプションくらいはつけてほしい。
あとD6ProにはWin32API Helpはついていないの?うーん
ところで最近SIMDの計算ライブラリーを手に入れたんだけど
これはよかった。最近delphi用のソースは完全に本家を超えている。
0337デフォルトの名無しさん
NGNGコミュニティーのレベルが高いのは同意。
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGとりあえずクライアント系のソフトを作る場合
OleコンテナだけのウィンドークラスをWin32で作ってhtmlとかXMLで
オブジェクトをおいてくってのはどう?
近道はIEを使うことだけど
あとデザイン固定ならば
コンポーネントベースでデザインしてからテキストベースのfrmファイルを
WIN32APIに置き換えればよいと思う。
色とかにこだわらないのならやっぱりダイアログを使うのがよい。
delphiはBRCCとか使わなくてもメニューやダイアログなどのRCファイルはコンパイルしてくれる。
Delphi互換にこだわる場合で手間のかからない方法として(=あまりソースを変えない。)
delphi3でフォームを表示するdllを作って=D3のソースを取り込むとかいわない
通常の設計手法のあとフォームのテキスト文をリソースに入れて
unitないのイベントハンドらとかをformからはずす=unit内関数にする。
そうすると多分できの悪いD6でもEXE100の以内、dllは300kbyteくらい
設計時専用パッケージを作れば
というか取敢えずKol & MCKはそこそこいけてる。
Class(Tobject)ではなくて(Obj)というのを使っているのがいやらしいけれど...
0340339
NGNG0341デフォルトの名無しさん
NGNGな時代に高々数百kbケチるために
そこまでするってのもご苦労な話だな。
古いマシンには古いOS・開発初環境がお似合いだよ。
皮肉抜きでさ。
0342デフォルトの名無しさん
NGNGIE&OLEを使ってメモリ効率も何もないでしょうから。
#最近はTGraphicControlのありがたみも無くなって来ましたねぇ
0343デフォルトの名無しさん
NGNG企業ユーザでないならそれでいいんだけどね。
0344デフォルトの名無しさん
NGNG企業ユースならなおさらだろ。
開発効率・安定性・開発者の習熟度捨てて
サイズとるなんてアフォのやること。
VCL, SysUtils, Classes, TObject捨てて
なおDelphi使うなんて仕事では考えられない。
0345デフォルトの名無しさん
NGNG小さいほうが使い勝手がいい
いろんな環境があるので最低Win95でComCtlだけアップデートした環境で動くようにしてる
でも最新のIDEの環境に慣れると古いバージョンはしんどい
JBuilderでJavaのバージョン変えれるみたいにDelphiでも
古いバージョンのVCLに変えれたらいいのに
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNGあんた、企業ユーザじゃないね。
アフォのやることをやらざるを得ない状況に持ち込まれるってことを
理解できていない。プログラマが全てをコントロールできるなら、
そりゃ幸せだよ。
0348ねこま
NGNG>そもそもCD-ROMの容量があまってんじゃなくて
>わざわざもう一枚のCD-ROMにぎっちりフリーウェアが入っているんですけれどもね
そういえばそうだった…….
borland には dfm を UTF-8 にするだけではなく XML そのものにしてほしかった……
そんで TParser を打ち切って XML コンポーネントを pro 版にも提供すべき
この辺かなりガッカリした
0349デフォルトの名無しさん
NGNG問題はinlineが既に予約語なんだよねっ!
#define は読み難くなるから却下。
0350デフォルトの名無しさん
NGNG単なるinlineが後置されたら c++のinline相当って事で
interface部には書けないって仕様でも十分便利だし
でも、delphiのような言語を使う場合は、アルゴリズムで高速になるように検討し
それでも不足するならインラインアセンブラでって方式の方がいいでしょう。
C++と違ってプロパティがあるんだから単なる内部変数を読み出したいだけのメソッドを
定義する必要も無いし、多少でも処理内容があるなら インラインにした方がサイズ肥大
=速度低下って時代になってるし
0351デフォルトの名無しさん
NGNG>この辺かなりガッカリした
かってに期待してかってにガッカリされても一私企業にとってはどうしようも
ないんじゃない?要望リストとして送りつける程度のことはできたんじゃ?
0352デフォルトの名無しさん
NGNGいれるならオプションの形に。どうせもう使う気ねーからな。
はっきり言って Kylix と互換ねーじゃねーかよ!!!
おまけに Kylix はバグバグバグバグバグ... だらけだし。
まあ、このままじゃあ Kylix は消えるだろうな。
最近の某の製品のクオリティが落ちているが、初心に戻ってほしいよな。
0353デフォルトの名無しさん
NGNGCLX使っている人ってどのくらいいるんだろう。
俺は、別に付いていても使わないだけだから、どうでもいいんだけどさ。
それより、ヘルプのVCLとCLXがゴチャゴチャに入っているのが許せない。
同じクラス名でVCLかCLXか区別が付かないやつとかあるし。
0354デフォルトの名無しさん
NGNGたしかにヘルプでいちいち選択するのはウザイよ。
ほぼみんながWinアプリのためにDelphi使ってるから、わざわざコンポ少ない、
低機能なCLXなんかだれも使わんだろうな。
まあ、一度は試したことあるだろうけど。
どうせ使わないんだからCLXなんかやめてしまえってこと。
CLXが原因で多分、
・Delphi6 の品質悪い(今までで最悪)
・起動時間はめちゃくちゃ遅い(全Verとかと比較すると)
・ヘルプ調べるときに VCL or CLX かいちいち選択しなきゃいけない
のようなことが起こると思われる。(もちろんVCL機能拡張などもあるだろうが。)
CLX使って幸せになったヤツがいたらどこがいいのか聞いてみたいよ。
0355デフォルトの名無しさん
NGNGVCL ヘルプだけを出す方法がかかれているのに。
よく読めな。
キミは隅から隅までヘルプ読んでるのかい?
オレなんかは調べたいキーワードがあったときにエディタ上でF1でそいつのヘルプ見るくらいだよ。
必要もないのにいちいち全部読んでる時間なんてこっちにはないいんだよ。意味もないし。
オレは決してDelphi批判してるわけじゃないぞ。
今のところ Delphi は最強だと思ってる。
だからこそ悪いとこは改善してほしいわけだから
自分が思ってる意見を言ってるだけだよ。
0357デフォルトの名無しさん
NGNGとか言うんだろうね。
「自分が思ってる意見を言う」だけなら小学生でもできますって。
まず Readme くらいよんであげなよ。自分の頭が悪いことを
長々と書き連ねるな。見苦しい。
0358デフォルトの名無しさん
NGNG>そういう人に限って「CLX と VCL の両方のヘルプが見られないのは何事だ!」
>とか言うんだろうね。
両方使って幸せになってるヤツならそりゃ言うだろう。
ちゃんと>>354を見な。圧倒的に使わないヤツが多いわけだから(推測だが明らか)、
そのおかげで不便を強いられてるなら VCL を優先させるのは当然だろ!
>「自分が思ってる意見を言う」だけなら小学生でもできますって。
>まず Readme くらいよんであげなよ。自分の頭が悪いことを
>長々と書き連ねるな。見苦しい。
ここは意見を言う場なのだよ。見たくなければ見なきゃいいだけのこと。
0359デフォルトの名無しさん
NGNG2ch って意見を言う場だったんですか?匿名がなれ合う場じゃ無かったんですかね?
便所の落書きも意見ですかね?
単に頭に浮かんだことを垂れ流してもそれを意見とは言わないものです。
0360デフォルトの名無しさん
NGNG言葉の定義で揚げ足取りかよ、おめでてーな。
0361デフォルトの名無しさん
NGNG揚げ足取られて逆切れするな。ガキめ。
Delphi6 がでて半年経っているけど ML でも news でも 2ch でもだれも話題に
していないのはなぜだと思う?ちょっとは冷静に周りを見回してみろよ。
あんたが不満に思っていることが, ほとんどの人にとって取るに足らないこと,
すでに解決済みの事だったりするんだよ。もちろんすべてがそうとは言わないが。
この一点のみで, あんたの意見なるものは便所の落書きに決定。
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGヘルプ-カスタマイズでCLX関係を削除すればいいだけのこと
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNG注意事項:
オンラインヘルプ
CLX ヘルプ参照のリンクを解除するには
[Enterprise 版および Professional 版のみ]
0368Delフサギコ
NGNGBorlandのクロスプラットホーム開発環境を作れる技術力の
アピール、Linuxを利用した
Borlandツールのマーケティング戦略には
非常に効果があるのがCLXだと俺は思いマフ
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ VB/VCには絶対マネできない
ミ,, ゚Д゚彡 ことが出来るというのはいい事だよ
〃つ旦O
〜ミ,,[ ̄ ̄ ̄.] だから二系ソフトでも特集扱いなんだし。
 ̄ ̄ ̄
アパーチのDLLモヂウル開発でも
ASPを圧倒してくれたらいいんだけどなー(妄想)
ところで、
XPの小規模リリースの原則から言えば
Borlandの
「出来上がったものだけしか発表しない」
という、意味の無い"伝統"は
百害あって一理なしだと思う。
VSやC#のβをたくさんリリースするMSを
見習って欲しいんだけど、どう重います?
0369デフォルトの名無しさん
NGNGボーランド製品 = 世間で言うところのベータ
0370Delフサギコ
NGNG|,,∧∩ 実は俺もCLXとVCLヘルプ表示には
|Д゚彡 あきらめモードだったです。
| ミ′ リードメに書いてあるとわ。
| ミ
| U 誰に感謝すればわからないけど
サ〜ンクスコ
0371デフォルトの名無しさん
NGNGM$だけは見習ってほしくない。あんなヤクザな会社にだけはなってほしくない。
堅気の会社でいてくれ。というかもう既に影響されまくってる
気がするが。
0372デフォルトの名無しさん
NGNGサンセーイ。あとこまごましたもの(エキスパートとか)もちょくちょく出してくれると
嬉しい。
0373デフォルトの名無しさん
NGNGたしかにそれは言えてるかも。
初代Delphiの完成度の高さはピカイチだったが、
最近は金儲けに走ったせいなのかどうか、
ろくに品質テストもしないでリリースしてるんだろうな。
会社が製品リリース間隔が異常に短いのがやはり気になる。
0374373
NGNG「会社が」の削除希望
0375デフォルトの名無しさん
NGNG内部関係者?
0376Delフサギコ
NGNGミ,,゚Д゚彡
ミ つ且~~
〜ミ,,,,,, ,,ミ
β版で利用者にテストを兼ねさせるという事を
ほとんどやらないから、バグが多いのかも。
[cbuilder:33588] Re: C++Builder6?
にもかかれているけど
どうしてリリース計画を明らかにしない
という事にこだわるのかな。
新分野を開拓する画期的製品を
リリースしているわけでもないんだし。
…MSに新機能をぱくられるのが嫌とか?
0377デフォルトの名無しさん
NGNGベータ版を公開してもバグレポートが帰らないから。です。
MS にしても Borland にしても、公開ベータはマーケ的宣伝以上の
物ではありません。
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGつか、日本語でバグ報告してもさ、それを某が確認&翻訳して本社に伝えるのは
大変なコストがかかりそうな気がする。
0380デフォルトの名無しさん
NGNG0381ねこま
NGNG(未知のバグがいっぱいの……)
Delphi5 Update2 出せ!
0382デフォルトの名無しさん
NGNGhttp://www.infonia.ne.jp/delphi/ ここも忘れられて久しい。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGリファレンス部分でいちいち初心者を意識した冗長な書き方されたらうざいんですけど。
初心者は入門書読んでから出直せって感じ。
0386デフォルトの名無しさん
NGNG正論だがそんなこといってるから
信者獲得&勢力拡大できないんだよ。
0387デフォルトの名無しさん
NGNGまあ当然だろうな。
0388Delフサギコ
NGNGDel使ってばかりいる人には気が付けないいい視点
MLの人が「文法文法」って言ってるのに萎えた。
彼らは他言語習得にマニュアルを活用したことないのかな。
サンプルが沢山載ってるのが
言語習得には確かに効果あり。
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧
ミ,, ゚Д゚彡
〃つl⌒|⌒l
〜ミ,,[ ̄ ̄ ̄.]
 ̄ ̄ ̄
VB使うときHELPの記述が少々変でも
サンプルコードで実行結果が予想できて
実にわかりやすかった事を思い出したYO.
0389デフォルトの名無しさん
NGNG先に言語リファレンスを通読します。その後サンプルコードと言語
リファレンスを対比しながら読みます。
ヘルプの各項目にサンプルが必要とまではいかないです。
0390デフォルトの名無しさん
NGNGだからこんなの↑基準にしてたらいつまでたっても今以上にはならないんだって。
ちょっとでもつまずくとすぐ止めてしまうような人間を基準に考えないと。
0391デフォルトの名無しさん
NGNGいろんな環境を普通に使える普通の技術者に使ってもらえればそれで良し。
現在そうなっているから特に広めなくていいよ
0392デフォルトの名無しさん
NGNG>彼らは他言語習得にマニュアルを活用したことないのかな。
に一つのサンプルとして答えただけ。
0393デフォルトの名無しさん
NGNGBorland はやらないんだよねぇーーいつまでたっても……
0394デフォルトの名無しさん
NGNGそこまで手が回らないと思われ
Webで公開して有志に任せたらいいのに
最後に某がリリースすればよさげ
0395デフォルトの名無しさん
NGNGそれやろうとして,結局誰もファイルを提供しないのでこけた実績あり。
0396デフォルトの名無しさん
NGNGこれだね。
http://www.freeml.com/ctrl/html/JoinForm/delphihelp
0397デフォルトの名無しさん
NGNG途中から Borland 版ヘルプの逆コンパイルとか、かってに HTML ヘルプにして
公開しようとかって話になり、ライセンスの指摘を受けて確認したら案の定断られた。
オープンソース的プロジェクトの失敗の典型例。オープンソースが悪いと言うわけではないぞ。
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGだれが買収すんだ?
おまえか?
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG私はぁ、ボーランドの経営にタッチしてないので、買収できません〜
0402Delフサギコ
NGNGミ,,゚Д゚彡 < 某社の人がリーダーシップ発揮して
,;゙ ミ \ 作って欲しいサンプルのリストくらい
ミ. ミ 見せてくれりゃいいのにネ
/゛゛゛゛
今のまんまじゃ、何のサンプル作ったらいいか
わかんねし。
BorがUNISYSバイシュウできるわけないのでは?
会社規模だと、逆じゃないのかしら。
0403デフォルトの名無しさん
NGNG入門者に優しくなければならない筈の std/Personalが一番優しくないからなあ・・・
0404デフォルトの名無しさん
NGNG作るプロジェクトを立ち上げた人いなかったっけ?
どうなったんだろう。。。
もし、ポシャっていたら、Delスレ住人でプロジェクトを立ち上げようかとか言ってみるテスト。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG> わかんねし。
ヴぁか丸出し。こんな糞レスつけてる暇があったら、
サンプルのひとつでも書いてageてみろや。
0407Delフサギコ
NGNG;゙⌒ヽ彡
〜ミ___ミ
''" ""''"" "''
クワッ
∧,,∧l||l 2チャソで
;;゙ミ゚Д゚彡 サンプルのひとつやふたつや
〜ミ___ミ みっつやよっつや…
''" ""''"" "'' 20ッツくらいは書いてんじゃん!
今日もVBで
文字列のIndexが0から始まるか
1から始まるか忘れてたので
Mid$のヘルプみてヘルプ文はみてもどうせわけわかなので
Midのサンプルみて速攻、わかったです。
こういうヘルプがDelphiの
CopyやDeleteにも必要ってことっしょ。
0408デフォルトの名無しさん
NGNG私は少し前までは主にC++、JAVA等をメインにプログラムを組んでいましたが
4ヶ月程前からObjectPascal(Delphi)での開発に携わるようになりました。
Delphiでの開発はVC++での開発で言語的にもWindowsアプリ開発に関する点でも
下地が結構あったのでそれほど苦労することはありませんでした。ただObjectPascal
にはC++等の他言語にはないユニークな仕様が幾つかあったので、そこらへんでは多少
とまどいました。「with文」もその一つです。with文以外のユニークな仕様に関して
は単純に慣れの問題だったのですがwith文だけは見れば見るほど、使えば使うほど、
考えれば考えるほどその存在に疑問を感じるようになりました。
そこで皆さんに質問があります。
それは、
「with文は是か非か?」
ということです。
ちなみに私は「非」です。主な理由は「メンテナンス性の点で様々な問題がある」
からです。以下でその問題の詳細を述べます。
<メンテナンス上の問題点>
1.ソースコードの解析が困難。
2.コードの再利用性。
3.他言語への移植性。
4.将来的にバグを生む原因となる可能性。
1.ソースコードの解析が困難。
with文を使ったソースコードは一件簡潔に見えるので解析もしやすいと誤解
される方もいますが、実際他人の作ったコードを読んでると変数や関数が
どのオブジェクトと結びつくものなのかを正確に理解するのは大変骨が折れ
ます。それどころか、自分の作ったコードでも思った通りの動作をしないこ
とがたまにあります。メーリングリストの過去ログなどでも「この文を何と
かwith文を使って書けませんか?」というのをたまに見かけます。そこまで
してwith文を使う必要がどこにあるのか・・・。
2.コードの再利用性。
これは解析が困難というのと同じような話ですが、私は(多分皆さんも)
既存ソースコードからのカット&ペースト(以下C&P)を日常的に使用します
がwith文を使用しているソースコードのC&Pをした場合、まるで違う動作
をする可能性があります。
3.他言語への移植性。
前述の2つの問題点が複合したような問題点です。大量にwith文を使用して
いる(ネストしてたりもする)ソースコードを正確にwith文を使用しない
文章に書き直す自身は私にはありません。
0409デフォルトの名無しさん
NGNG4.構造上の欠陥(将来的にバグを生む原因となる可能性)
1以上に深刻かつ致命的な問題点です。
これは例を使って説明します。
<例>
・先ず2つのクラスTCls1, TCls2があったとします。これらはそれぞれ
別のユニットで定義されていたとします。
----------------------------------------------------------------
[クラスTCls1]
unit Unit2;
interface
uses Classes;
type
TCls1 = class
class function Func1( slst: TStrings ) : TStrings;
class function Func2() : String;
end;
implementation
uses Windows, Unit3;
class function TCls1.Func1( slst: TStrings ) : TStrings;
begin
result := slst;
with TCls2 do
begin
slst.Add( FuncA() );
slst.Add( Func2() );
end;
end;
class function TCls1.Func2() : String;
begin result := 'TCls1.Func2()'; end;
----------------------------------------------------------------
[クラスTCls2]
unit Unit3;
interface
type
TCls2 = class
class function FuncA() : String;
end;
implementation
uses Windows;
class function TCls2.FuncA() : String;
begin result := 'TCls2.FuncA()'; end;
0410デフォルトの名無しさん
NGNG・ここで以下の処理を実行します。
[処理]
var
slst : TStrings;
begin
slst := TStringList.Create();
try
TCls1.Func1( slst );
slst.SaveToFile('C:\Windows\Temp\Func1(1).txt');
finally
if( Assigned(slst) ) then slst.Free();
end;
end;
----------------------------------------------------------------
・上記処理の実行結果です。
[結果](テキストファイルの内容)
TCls2.FuncA()
TCls1.Func2()
・さてここでTCls2の作成者が全く新規でTCls2の既存のメンバにも
関連性の全くない関数「Func2」を追加したとします。
TCls2 = class
class function FuncA() : String;
class function Func2(v: String) : String;
end;
class function TCls2.Func2(v: String) : String;
begin result := 'TCls2.Func2(' + v + ')'; end;
当然「実パラメータが足りません」のエラーが出てコンパイル出来ま
せんでした。TCls1.Func1のwith文中のFunc2呼び出しの部分で
コンパイラがFunc2をTCls2の関数として解釈しようとする
からです。このエラーはTCls2を使用しているソースを実際にコンパ
イルするまでは発覚しません。ただ、この場合はTCls1とTCls2の
Func2はそれぞれ引数リストが異なることからコンパイルエラーが
出るのでその時点で問題が発覚するのでまだ救いようがあります。
0411デフォルトの名無しさん
NGNG・致命的なのは次のように名称も引数リストも同じというケース
です。
TCls2 = class
class function FuncA() : String;
class function Func2() : String;
end;
class function TCls2.Func2() : String;
begin result := 'TCls2.Func2()'; end;
・このコードではコンパイルエラーは出ません。前述の処理を実行
すると結果は以下のようになります。
[結果](テキストファイルの内容)
TCls2.FuncA()
TCls2.Func2()
・2行目の出力が前回と異なります。このバグはTCls1とTCls2が
それぞれ別に開発されたコードである場合回避するのは非常に困難
です。
・実際このように名称も引数リストも同じ関数・プロシジャー
が作られる可能性がどの程度かはわかりませんが関数の名称という
のは通常その機能を簡潔にまとめたものになっていると思われる
ので全く有りえないとは言えないと思います。運悪くこのバグが
発生した場合、非常に発覚しにくいたちの悪いバグとなります。
以上がメンテナンス上の問題点です。
あと、さらに付け加えるなら「with文のメリット」はそれほどメリットがない
というのも理由の一つです。例えば「with文を使えば一行が短くてすむ」と
いうやつですが、こんなのは「行が長くなったなら改行を入れれば?」だし、
「with文を使えば階層が深いオブジェクトへのアドレス参照が一度ですむので
処理効率が上がる」というやつも「最深部のオブジェクトを参照する変数を
用意すればいいだけでは?」と思います。
結局メリット・デメリットを天秤にかければ圧倒的にデメリットの方に傾く
と思います。よって、
「with文の使用は絶対に"非"」
だと思います。
0412デフォルトの名無しさん
NGNGwith 文も含め,状況によって使い分ける。それだけ。
使う前に天秤にかける意味はない。使いながらメリットが多ければ使う。
それだけ。議論の立脚点が違うのでこれ以上は議論にならず。
0413デフォルトの名無しさん
NGNGプロパティの初期化にはよく使ってる。
0414デフォルトの名無しさん
NGNGそれを人に押し付けようとはしない。
そして、読む気の失せる長文で人に相談しようとはしない。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGしかし非("否"じゃないのか)とかいってるのなら、クラスのメンバでのselfや
namespace(unit name)も省略不可にしろとかいうのなら厳密性は高まるといえるだろうが。
ってのはともかくwithは、それを使ったほうが明らかに読みやすいと思う場面でのみ
使ってるな。
withっぽく縮めたいが紛らわしくなりそうなときは、ポインタの一時変数に代入して使うかな。
0417デフォルトの名無しさん
NGNG例:
http://pc.2ch.net/test/read.cgi/tech/1009903617/143
このコードは
with TBitmap.Create do try
Width :=100;
Height:=100;
PixelFormat:= pf1bit;
Canvas.Ellipse(1,1,100,100);//円を描く
Canvas.TextOut(5,5,'こんにちは');
SaveToFile('temp.bmp');
finally Free; end;
とローカル変数を使わずに書ける
出来れば
with XX same Y do と書くと XXの別名が Yになる構文だったらもっといいな
0419Delフサギコ
NGNG┃ |
┃ |
┃ ∩∩
┃ ∧ ∧ ソレ コピペ チャウ?
┃ ミ,,゚Д゚ミ
┃ ミ ミ フゥ…
┃ ミ ミ
┃ ミ ミ
┃ ..U..U
┃
┃ ぶら下がり倦怠期
0420デフォルトの名無しさん
NGNG>そして、読む気の失せる長文で人に相談しようとはしない。
ごめんなさい。
>>415
>withはオリジナルpascalからあるんだよ、文句はWirthに言ってくれ。
たしかにそうです。ただ私としてはDELPHIではwith文を仕様不可能にしてほしいという
わけではなくてgotoのよう「文法の仕様としては含んでいるが極力使わないほうがよい」
という感じになってくれたらなーと思っています。
>>416
>withはデータ利用の局所化を促すので最適化にいいんでなかったっけ。
ポインタの逆参照が一回ですむというやつでしょうか?最適化に関してはあまり深い知識
はないので間違ってたら指摘してください。ちなみに、参照用の変数を用意して、
Obj3 := Obj1.Obj2.Obj3;
というふうにやった場合とwith文を使用した場合では最適化の点からみた場合、差はある
のでしょうか?ちなみに是非の「非」はこれでよいみたいです。
------------------------------------------------------------------------
で、基本的に問題点が1、2、3のみだったらここまで強硬な主張をするつもりはないし
適切な場面に限って使用すれば便利な場合もあるだろうと思います。ただ、やっぱり問題
点4の構造的な欠陥がどうしても無視できません。しつこいようですが例をあげると、
1.あなたがボーランドの提供するあるクラスを使ってプログラムを組むとします。
2.その後のDELPHIのバージョンアップでそのクラスにプロパティ又は関数が追加さ
れたとします。
3.あなたのDELPHIをバージョンアップしてさらに前述のプログラムもバージョン
アップしたとします。
4.あなたがプログラムに何も手を加えていなくてもコンパイルエラー又は不可解な
バグに悩まされる可能性があります。自プログラムでwith文の使用を停止する以
外に完全に防ぐてだてはありません(たぶん)。
と言う訳で将来的に保守する必要のあるプログラムなら無視はできないとおもいます。
0421デフォルトの名無しさん
NGNGで、あなたがこのトラブルに遭遇した回数は?
0423デフォルトの名無しさん
NGNGなんかC言語使いの移植性がどうとかばかり言ってる人と共通するニオイ
その4と似た問題は with使わなくても 例えばDeleteでも起きてるんじゃないのかな?
0424デフォルトの名無しさん
NGNGunit名まで完全修飾してますが何か?
type
Boolean = 1..2;
var
a: System.Boolean;
b: Unit1.Boolean;
0425デフォルトの名無しさん
NGNGつまり
a={"AAA","BBB",123}
があるけど、
pascalでは その代わりに with を用意したって事だと思うよ、その方が柔軟な事は確か
だから、初期化程度に利用したらいいんじゃないの?
>>417 のようなその場でインスタンスはその悪用みたいに感じるけどねね
0426デフォルトの名無しさん
NGNG使うかどうかは別として.
0427デフォルトの名無しさん
NGNGwith文の中で指定したクラス以外のメンバにアクセスするときは
そのクラスを明示するべきではないのか。
そんなコード書くのが悪い。
あなたがその問題点を理解しているなら、いくらでもそれを回避したコードは書けるだろう?
どんな道具でも使い方次第。
0428デフォルトの名無しさん
NGNG>その4と似た問題は with使わなくても 例えばDeleteでも起きてるんじゃないのかな?
??どういう場合でしょうか?いまいち思い浮かびません。よろしかったら参考までに教えていた
だけないでしょうか?
0429デフォルトの名無しさん
NGNG>with文の中で指定したクラス以外のメンバにアクセスするときは
>そのクラスを明示するべきではないのか。
ということは、
with TCls2 do
begin
slst.Add( FuncA() );
slst.Add( TCls1.Func2() );
//又は slst.Add( self.Func2() );
end;
とするべきだということでしょうか?でもこの関数はTCls1クラスの関数だしFunc2も同じく
TCls1クラスの関数だから普通は明示的には書かないのでは?というかそれをやる(withで指定した
以外のオブジェクトのメンバへのアクセスは明示的に示す)ならwith文で書くメリットも薄くなる
ように思います。
>そんなコード書くのが悪い。
あれはあくまでも問題点を説明するためのソースなので実際私がそういうコードを書いているわけ
ではありませんが、実際あの手のコードはよく見かけます。
0430デフォルトの名無しさん
NGNG>で、あなたがこのトラブルに遭遇した回数は?
ありません。ただ構造上は発生しても何の不思議も無いなーと思います。潜在化しているだけで
実際には遭遇していても気付かないという可能性もあります。実際、この現象が発生する可能性
というのは確かに低いものだとは思います。(そのような報告を耳にしたこともないし・・・)
結局この問題点に関してMLやこの掲示板に投稿したりした結果の反応をまとめると、
・with文の乱用は良くないが適切な使いかたをするなら特に問題はない。
・というか必要だ。
まあ大抵の場合は条件付で「是」という考えのかたが多いみたいです。結局私が気にしすぎている
ということかもしれません・・・。ただ私は仕事でPGを書く場合は割と保守性に重点をおくほう
なのでやはり今後もwith文を使う気にはならないとは思いますが皆さんのご意見は大変勉強になり
ました。ありがとう御座いました。ちなみに今回私がここらへんの問題を考えたのは現在仕事で目
にするソースコードに無闇に深くて長いwith文のネストがあったりしたのを目にしたせいで「いっそ
のことwith使用禁止にしてくれ」と思ったことがきっかけです。そのためwith文の粗捜しをするよう
なひねくれた書き方・考え方になっている部分もあったかもしれません。
0431デフォルトの名無しさん
NGNG端から見てたが、>430が話の分かるタイプの人で安心した。
結局は、
■乱用は良くないが適切な使いかたをするなら特に問題はない。
なんだよねぇ。
つか適材適所というか。
0432デフォルトの名無しさん
NGNG0433Delフサギコ
NGNGミ゚Д゚,,彡,,,,,,,,,,,,ヾ〜 < とにかく問題はプログラマ側だと
U U """"UU \_ オモワーレ
似たような別な話ですが
PascalかDelphiかの構文では
thenの後にbegin endプロック無しでも1行書けたりします。
使い方によっては見やすいソースになるけど
変なソース書こうとと思えばかけます。
if ... then
if ... then
if ... then begin
end;
else
;
ってのも許可されるはずだけど(はずだっけ?)
if と elseの対応がわけわかになって
混乱の元だから書くの避けたりしません?
後から読みにくいですし。
面倒でもこんな風にbegin endの対応を書くでしょ。
if ... then begin
if ... then begin
if ... then begin
end;
end
else
begin
end;
end;
withもそれと同じで
変なソースになると思った瞬間、withをアボーンしたり
with内で省略しないコードを書くのは
各々のプログラマの責任で、Delphi側の問題は何もないような気します。
withの問題で大騒ぎしてたら、C++やVBでも同様に混乱の元になる
記述はいくらでもできるんじゃないでしょうか。
VBで
Dim A, B as Integer
と宣言して、Aがバリアント型、BがInteger型になってて
そのおかげで潜在バグが発生してたのには参ったけど、、、
>ちなみに今回私がここらへんの問題を考えたのは現在仕事で目
>にするソースコードに無闇に深くて長いwith文のネストがあったりしたのを目にしたせいで「いっそ
>のことwith使用禁止にしてくれ」と思ったことがきっかけです。
気持ちはわかりますが、出来の悪いプルグラマの問題を
Delphiの責任にされちゃイヤン
長文ゴメンソ
0434デフォルトの名無しさん
NGNG>Delphiの責任にされちゃイヤン
禿げ同意
0435デフォルトの名無しさん
NGNGint* a,b;
としてbがポインタになってくれないの嫌いだなあ。
0436デフォルトの名無しさん
NGNG誰もが通る道だ。430 さんもめげずに。単に使いづらけりゃ使わなきゃよい。
0437Delフサギコ
NGNGヽ从/
γ´ ̄ヽ(ヽ ←!! 禿げ
ミ;゚Д゚彡
ミ つ ミ シク同意
〜ミ ミ
)ノ ヽ)
0438デフォルトの名無しさん
NGNGそれから a[8.) とか書けるって知ってた?
0439デフォルトの名無しさん
NGNG>[ は文字の組 (. に相当し,] は文字の組 .) に相当します。左カッコとアスタリスクの組み((*)と右カッコとアスタリスクの組み(*))は,左右の中カッコ({ }
)に相当します。
0440デフォルトの名無しさん
NGNGそんな書き方するやつとは仕事したくないと思わん?
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNGttp://www.borland.com/about/press/2002/net_platform.html
0443デフォルトの名無しさん
NGNGvarが途中でも書けたらさらにいいな。(forのインデックスにも使えるし)
procedure A;
begin
...
var
Work: TBitmap = TBitmap.Create;
begin
Work.Width :=100;
Work.Height:=100;
Work.PixelFormat:= pf1bit;
Work.Canvas.Ellipse(1,1,100,100);//円を描く
Work.Canvas.TextOut(5,5,'こんにちは');
Work.SaveToFile('temp.bmp');
Work.Free
end;
...
end;
0444デフォルトの名無しさん
NGNGそれは高速コンパイルの障害になりそうだから嫌
0445デフォルトの名無しさん
NGNGtry
Width :=100;
Height:=100;
PixelFormat:= pf1bit;
Canvas.Ellipse(1,1,100,100);//円を描く
Canvas.TextOut(5,5,'こんにちは');
SaveToFile('temp.bmp');
Finally
Free
end;
でいいじゃん。
0446デフォルトの名無しさん
NGNGま、予想通りか。
C# にも対応するのかな?
0447デフォルトの名無しさん
NGNGしらんかった
>>444
高速な実行の障害になりそうだから嫌と.Net対応にもいってやれよ。
0448デフォルトの名無しさん
NGNGtypdefでも駄目だっけ?
0449デフォルトの名無しさん
NGNG調べなくても、ある変数の型が分かる(varブロックを見ればいい)
ってことじゃなかったっけ?今だとエディタの支援を受けられることが
多いからありがたみも薄れるかな。
0450デフォルトの名無しさん
NGNGできる。
だいたい、ループ管理変数なんて非常に局所的にしか存在しないのだからまとめて一つの手続きに
仕上げた方が見やすい。
もちろん程度の問題だし、途中宣言できても文法的に破綻することはないとおもうけどね
0451デフォルトの名無しさん
NGNG破綻したコードは書きやすくなる。
0452デフォルトの名無しさん
NGNG変数の有効範囲が広い場合のデメリットの一つとして「デバック等のソース解析時
に変数を追跡するべき範囲も広くなる」という点があると思う。
例えば、
procedure ProcA;
var a, b, c, d, e : Integer;
begin
(略)
if( xxxx ) then
begin
(略)
end;
(略)
end;
だとProcAの全体を通して変数abcdeの追跡が必要になる可能性があるが、
procedure xxxxxxx;
var a : Integer;
begin
(略)
if( xxxx ) then
begin
var b, c, d, e: Integer;
(略)
end;
(略)
end;
てなかんじで書けたなら変数bcdeの有効範囲がifのブロック内部に限定され
るのでその分コードの解析も容易になるように思うのだがどうだろう。
0453443
NGNGfor I: Integer = Low(TheArray) to High(TheArray) do ...
元々Pascalはforを出たらIの値は保証されない文法ですから、
この方がスコープが値の有効範囲と一致していいと思うのですが。
(Adaなんかもループ変数だけはfor I in 1..10 doっていきなり書けますし)
0454443
NGNG0455デフォルトの名無しさん
NGNGって話。C だとこの書き方ができないから C++ であの記法が入った。のではないかな?
procedure xxxxxxx;
procedure yyyyyyy;
var b, c, d, e: Integer;
begin
(略)
end;
var a : Integer;
begin
(略)
if( xxxx ) then
yyyyyyy;
(略)
end;
0456443
NGNGvoid func(void)
{
...
{
int a;
...
}
...
}
C++の、ブロックの先頭「以外」でも宣言可能な機能は、
コンストラクタが働くタイミングを制御したいから、ですね。
ObjectPascalでは自動で走るコンストラクタは無いので
(stringやVariantが空に初期化されるぐらい)、関係なしです。
ルーチンのネスト構造を考えた場合、
Cなんかでは「グローバルとローカル」の二段階しか無いですが、
Pascalは関数内関数によっていくらでもネストが効きますよね。
グローバルとローカルの関係を、「内側は外側を参照できる」として一般化したものが
Pascal系言語の関数内関数だと思います。
一方、途中宣言は>>452さんの言っているように、「使う範囲のみにスコープを限定する」ためのもので
用途が違うのでは無いでしょうか?(代用が効くのは確かですが…
関数内関数って、処理の流れが上に折り返すので、あまり読みやすく無いし。
( Adaは関数内関数とdeclareによる途中宣言を両方できるし
0457デフォルトの名無しさん
NGNGこれを読みやすいととるか読みづらいととるかの違いでしかないな。
0458デフォルトの名無しさん
NGNG別に関数の動作が分ってればわざわざその場で上に折り返して追う必要性を感じないが。
まあ、おざなりな関数名で説明もついてなければ追わざるえないけど(苦笑)
0459デフォルトの名無しさん
NGNGトップのbegin/end.ブロックにすべて書くのがいいよね。
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG最後には GOTO 文まんせーとでもいうのか。
構造化言語を真っ向から否定するような発言しやがって。
0462443
NGNG見にくい見やすいの話題を加えたのは俺のミスです。
後で考えれば論争にしかなりませんしね。すいません。
456で本当に言いたかったのは、
関数内関数と変数の途中宣言は、片方で片方を代用できるけれど、
本質的には用途が違うのでは無いか、ということなんです。
0463デフォルトの名無しさん
NGNGPersonalに比べるとコンポーネントの量が半端じゃないので
IDEの起動が3倍くらい遅くなってしまった
CLXとか使わない人ならPersonalの方がいいかもしれない
一部の人しか必要なさそうなコンポーネントがたくさん並んでるので
自分のいらないものは外しておこう
0464デフォルトの名無しさん
NGNGプロジェクトごとに管理できるかららくちん。
0465デフォルトの名無しさん
NGNGコンポーネントの取捨選択なんて考えてもみなかったけど
Professional以上の版だと膨大なコンポーネントがついてるから
ちゃんと管理しないと大変
0466デフォルトの名無しさん
NGNG具体的に言うと、クラスのメソッドがコルーチンで書けるようなもの
クラスメソッドで
Filter だけをつけると スタックをグローバルスタックではなく その
クラス内に取られたクラス内ローカルスタックを使う
FilterInterface という識別子をつけるとフィルター名となり
呼び出すとコルーチン切替を起こす
0467デフォルトの名無しさん
NGNGやりたければやりなさい
Delphiはそれを妨げたりはしません
0468デフォルトの名無しさん
NGNGなんとなく面白そうだけど、それってどういうときに使うの?
0469デフォルトの名無しさん
NGNG入力と出力をつなぐように書きたいんだろうと思うが?
つまり 関数Aで input() と 関数Bでoutput(c) と書いたら接続されて同期するって事でしょう
同期しないならFIFOバッファでいいだろうけど
コルーチンはOSの管理のせいでスタック切替で実現が難しくなってしまってるみたい
だから、ハードウエアスタックではなく 擬似スタックを使いたいのでしょう
0470デフォルトの名無しさん
NGNGむちゃくちゃ重い
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG今でもエラーメッセージにその名残が見つかる事が・・・という事は殆どリリース直前まで行ってたのかな
0473デフォルトの名無しさん
NGNGProfessinalだけどコンポーネントほとんど使わんから
パッケージ全部はずしてパレットごと非表示にしてるよ。
でも起動はそんなに変わらんよ。スペック低い?
0474デフォルトの名無しさん
NGNG( ゚д゚)JAVA-VM用のDelphiを作ってた?
↓
( ゚д゚)・・・・。
↓
( ;゚д゚)・・・・。
↓
(#゚Д゚)そりゃJBuilderだゴルァ
0475デフォルトの名無しさん
NGNGhttp://www.javadelphi.com/
0476デフォルトの名無しさん
NGNG( ゚д゚)JAVA-VM用のDelphiを作ってた?
↓
( ゚д゚)・・・・。
↓
( ;゚д゚)・・・・。
↓
(#゚Д゚)そりゃC#だゴルァ
0477デフォルトの名無しさん
NGNGそれに、ObjectPascalをJavaに変換するだけみたい。
マルチプラットフォームなら死角が無いのにな。
ついでに1から設計し直して欲しい。
バージョンアップでVCLを変更しないで済むように
して欲しいな。
例えばドッキング。
TFormでやるんじゃなくて、コンポーネントでサポートして欲しかった。
0478Delフサギコ ◆zE1iiRdQ
NGNG_ ミ,,゚Д゚彡_< DelphiToJavaって意味では?
.=| |==U==U=| |= \
| |@ミ ミ .| |
| | ∪''∪ | |
| | | |
> 例えばドッキング。
> TFormでやるんじゃなくて、コンポーネントでサポートして欲しかった。
Toolbar2000をBorland側の標準コンポとして登録して欲しかった。
そしたら、Indyみたいに日本語HELPがつくし。
フリーソフト系開発者魂をよりがっちりつかむ事ができるのに。
0479Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ /
ミ ゚Д゚ミっ < ま。いまさらToolbar2000を取り込むのは問題あるだろうけど
|''U ̄| \誰もが必要を感じそうな
| ̄ ̄| 終了して再起動したら元の位置を保存するような
/ ゙ヽ コードを自前で書かなければならないってのは
( ゚Д゚ ) VCL標準で対応してくれないかな。
人____ノ
Formなんか特に、その他各種コンポーネントでも
すべて対応してくれたらいいのに。
例えば
Toolbar2000はこれだけの記述で
Toolbarのドッキング状態を保存して復帰してくれる。
function AppIniFilePath: String;
begin
Result := ChangeFileExt(Application.ExeName, '.ini');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
TBIniLoadPositions(Self, AppIniFilePath, 'toolbar');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
TBIniSavePositions(Self, AppIniFilePath, 'toolbar');
end;
や
procedure TForm1.FormCreate(Sender: TObject);
begin
TBRegLoadPositions(Self, HKEY_CURRENT_USER, 'Software\My Company\My Program\Toolbars');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
TBRegSavePositions(Self, HKEY_CURRENT_USER, 'Software\My Company\My Program\Toolbars');
end;
どうして、こういう所の必要性はVCL開発の中に現れてこないのかしら?
VCLのドッキングでこんな関数だれか作ってません?
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNG一つのパッケージファイルで複数のDelphiのバージョンに対応できる
ようにしてほしい。
0482デフォルトの名無しさん
NGNG最初に言った奴が作るってことで。じゃ、フサギコよろしく。
0483Delフサギコ ◆zE1iiRdQ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < どうせ息詰まるからヤダ
UU"""" U U \_______________
感覚的なんだけど、多分
細かい事やろうとするとVCLバグに衝突して
俺には解決不能レベルの問題になってしまってストレスが増大すると思われ
なのです。
フリーソフトでVCLのドッキングツールバーで実装しているのある?
付箋紙2000はドッキング&フローティングしないっす。
ゾヌのカキコ用Windowのツルバーもドキ&フローしないし
なんかバグってる。
その悩む時間でToolbar2000の使い方を知った方が幸せなの。
0484デフォルトの名無しさん
NGNGプロジェクトによって{$IFxx} で コンパイルオプションを変えていた場合
「全てのプロジェクトを再構成」すると、 どうもその場合別けが巧く機能しない場合がある
個別に再構成したら大丈夫だから
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGあれを自作コンポ側でカスタマイズ出来る機能が欲しいな
たとえば
procedure TForm1.Edit1Change(Sender: TObject);
begin
with Sender as TEdit1 do begin
|
end;
end;
みたいな感じにとか BCB両用にするのメンドクサイから駄目?
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGイベントハンドラ用のプロパティエディタ作ればできる。
0490デフォルトの名無しさん
NGNGそれ、面白い。
0491memo
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGコード本体部分まで自動生成はキモイ。カッタルイ。いいことないぞ。
消すの面倒だし。
0494Rubyist
NGNG所詮クズ
0496Rubyist
NGNG0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNGその後、(今の経済の仕組みとしては)バージョンアップで金を取るのが
つらい感じ。
Turbo Pascal を書いていた人(名前どわすれした)が
マイクロソフトに逝ってしまって、J+とか虚しい言語の開発を
初めてしまったのも残念。
0501デフォルトの名無しさん
NGNGアンドリューヘジルスバーグ?
0502デフォルトの名無しさん
NGNG(既出だったらごめん)
0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGインラインアセンブラなどで現在ネイティブであることの幸せを噛み締めながら、Delphi.NETを待つ
( 実際のところ、自作メモリーマネージャーか何かでできないのでしょうか?GC )
0505デフォルトの名無しさん
NGNG誰も参照していない事を検出するには、スタックからCPUのレジスタまで検索しなければいけない
スタックは作られたスレッド全て検出しなければいけないしで、重い処理になるだろうね。
0506デフォルトの名無しさん
NGNGC#は空しく無いだろ。
0508デフォルトの名無しさん
NGNGJBuilder のようにJavaソースコード修正したらフォームに反映されるようにしろよ!!!
知らないヤツは JBuilder みたいにできると勘違いするだろ!ボケ!!!
あともう一つ。
「コンポーネントをフォームにD&Dする」って表現やめろよ。
知らないヤツはD&D操作して貼り付けると勘違いするだろ!ボケ!!!
まだあった。
「エリアス」ってなんだ???
Alias = エイリアスだろ!ボケ!!!!
某日だけだぞ。そんな言い方するのは。世間一般の言い方と統一しろよな。
以上です。
0509デフォルトの名無しさん
NGNG出来るぞ?己の文法エラーで騒がんでくれるか?
0510デフォルトの名無しさん
NGNG漏れは心配で眠れんよ!
0511デフォルトの名無しさん
NGNG「某日」ってなんだ?
>>510
まだまだ先。D7の次くらいじゃなかったっけ?
それまでゆっくり寝とけ。体に悪いぞ。
0512デフォルトの名無しさん
NGNGBorland Japanでは?<某日
0513デフォルトの名無しさん
NGNGおお、そういうことか! サンクスコ
0514釣られ人
NGNGVB使ってろよ!ボケ!!!
0515デフォルトの名無しさん
NGNGファンで(今もそうだけど)正規ユーザでした。
Delphiのversion1が発表されたときは、柄にもなく非常に興奮して、これでVBは
確実に逝くなと思ったものでした。
しかし、そのころNiftyに顔を出していた Borland の大野さんという方が
「売れるには売れたけど、最初に思ったほどヴァカみたいには売れていない」と
言っているのを聞いて、なかなか難しいものなんだなと思っていますた。
最近、2chにくるようになって、Del厨とかいうことばを見るようになって、
やっとDelphiが今の若い人たちに広がりだしたんだなと思ってうれしくなりますた。
ちなみに大野さん(元もとはゲームプログラミングをしていたと聞きました)という方は
いまでもBorlandにいらっしゃるのでしょうか? (Borland Japanの社長だったりして)
0516デフォルトの名無しさん
NGNGまだいると思う。
以前はMLにも顔を出していたが、最近はみかけない。
■ このスレッドは過去ログ倉庫に格納されています