トップページ⇒tech
516コメント200KB

★クライアントサイド最強の Delphi に物申す★

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Delphi を使ってみて、ここがダメ、この方が使い易い、あるいは今後こういう機能が必要、
等々何でもいいから日頃あなたの思っていることを正直にカキコして頂戴。(初心者歓迎)
なお、Delphi 未使用者の冷やかし発言は御遠慮願います。
00021NGNG
・JSP, ASP, PHP みたいにHTML埋め込み対応希望(サーバサイド開発機能の強化)
・Java のようなパッケージ仕様にしてもらいたい。
・作ったソースそのまま Kylix に持っていってもコンパイルできるように SJIS, EUCJ
 の両エンコーディング対応にしてほしい。
ちょっと大雑把で失礼。まだ他にもたくさんあるけど睡魔が...
0003デフォルトの名無しさんNGNG
Delphi.NETがあればいいんでないの。
0004デフォルトの名無しさんNGNG
大野さんは見ているの?
0005デフォルトの名無しさんNGNG
>>1の存在そのものが冷やかしなんじゃないの?
0006デフォルトの名無しさんNGNG
>>5
うるせーよ。氏ね。
おもしろいと思ってんの?
0007デフォルトの名無しさんNGNG
6=大野元久
00086NGNG
釣れた!!!
0009 NGNG
7=安藤由男
00105NGNG
大野って誰?
0011 NGNG
Delphi関係の人って、どうしてこうポコポコとスレ立てたがるの?
0012デフォルトの名無しさんNGNG
>>11
だって<以下自粛>
0013デフォルトの名無しさんNGNG
スレがたくさんあると、どこにレスつけたか忘れるぽこ〜。
0014デフォルトの名無しさんNGNG
Delphiの付くスレッド全部消去してはどう?
0015デフォルトの名無しさんNGNG
>2 HTML埋め込み対応希望

欲しけりゃ作ればいいじゃん Pascalスタイルのスクリプトソースは
ごろごろ転がってるだろに

>Java のようなパッケージ仕様
 DLLでいいんじゃないの?
0016デフォルトの名無しさんNGNG
.NETに統合されることで最強になると思うんですが。
0017DelギコNGNG
>無意味な長文投稿や仕切り屋が

          ∧ ∧
         Σ(,,゚Д゚)
          / |   ソレ オレ ノ コト ジャン
      ,, ,,,,  (_,ノ ,,, , ,,
          ノ ,,

    9末の決算前でみんな忙しいかも。
0018デフォルトの名無しさんNGNG
>>11
Delphi厨つぶし野郎の陰謀だよ。
VBがどうのこうのってスレ立ててるやつとたぶん一緒・・・
0019DelギコNGNG
      昇天
  ∩   ∩_     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜⊂ ̄ ̄ (。Д。)⊃ < 誤爆りました・・・
  ̄ ̄ ̄ ̄∨∨ ̄ ̄|\_____________

  ア・アボーン シテオイテ チョーダイ
0020デフォルトの名無しさんNGNG
Delphi.NETはまだですか?
0021デフォルトの名無しさんNGNG
C#に改名しましたが?
0022デフォルトの名無しさんNGNG
Java&C# メモリの解放はコンパイラが自動化する。
C++ メモリの解放はプログラマ次第で自動化できる。
Delphi メモリの解放を自動化することは不可能。
0023デフォルトの名無しさんNGNG
Delphi UNIT
Modula-2 モジュール
JAVA パッケージ

って同じようなもんじゃないのかな?
0024デフォルトの名無しさんNGNG
>>22
それってマジ?
Delphi.NETが最後の希望の光だと思うんだけど・・・
0025デフォルトの名無しさんNGNG
不可能じゃないと思うよ。

 どっちにしてもスクリプト的(動的にコンパイルするかインタプリタになるかは判らんけど)
に使いたいという事なら
.Create スタイルの生成は禁止して interfaceスタイルにすりゃいいんじゃないの?
0026デフォルトの名無しさんNGNG
関連レス↓
http://mentai.2ch.net/test/read.cgi?bbs=bsoft&key=998629435&st=30&to=31
0027コピペNGNG
一人の天才がすべてを作っていると?

TurboPascal は Pascal では書かれていないし(フルアセンブラ)
カーンはアセンブラは書けない。
カーンはコンセプトマンで、それは「すべてオンメモリで処理しろ」
ただそれだけ。

ヘジは最後まで Windows と UNIX が嫌いだった。
Wizard C の開発部隊ごとカーンが買って TurboC が大好評の裏に
干されかけた Pascal 部隊の起死回生の一発が Delphi。

厳密にはノベルの Netware 用開発ツールだったんだが、ノベルからいろんな
技術を分捕って形作ったのが旧称 AppBuilder / Delphi 1.0 だ。
0028コピペNGNG
Delphi がヒットしたのは VB が慢心していたから。というのが社内の評価。
特に日本では、VB 3 - 4 のころ MS の方がごたごたしていてうまいこと
くらいつけたという部分がある。

TVision の経験から OWL で発明された、ウィンドウハンドルにオブジェクトの
ハンドルを関連付け、VMT インデックスにウィンドウメッセージを直接マップする
という MFC にも影響を与えた技法を作ったのはヘジでもカーンでもない。

ほんとの天才は表には出てこない。アメリカなら特にヘッドハンターに狙われちゃうもんね。
カーンはしょうがないけどヘジが表に出てきた。ってのは彼がボーランドに
いづらくなった。ということなんだよ。どんな天才にも得意/不得意はあるしね。
人間関係もかかわるし。日本でインタビュー受けるような状態になったら終わり。
彼は結局 TurboPascal のヘジでしかなかった。

それが証拠に、C# はどこまでも Delphi/ObjectPASCAL だろ?

あれが似ているということが、彼の能力の限界があそこなのだ。ということだ。
0029デフォルトの名無しさんNGNG
>それってマジ? Delphi.NETが最後の希望の光だと思うんだけど・・・

↑ブビ坊の意見かもしれんが、逆。MSにとって、.Netが最後の希望の光。
0030デフォルトの名無しさんNGNG
.NET非依存の C#開発ツール出してくれ>某
00312NGNG
>>15

>>2 HTML埋め込み対応希望
>欲しけりゃ作ればいいじゃん Pascalスタイルのスクリプトソースは
>ごろごろ転がってるだろに
おれが今まで作ったライブラリ資産使えないだろう。
そもそも JBuilder のようにIDE内でデバッグできないとだめだ。

埋め込みDelphi(Pascal)って合いそうじゃない。
コンパイル激速だし、おまけにネイティブコードで実行できるから。

>>Java のようなパッケージ仕様
> DLLでいいんじゃないの?
DLL とか jar とかの問題じゃなくてクラス名とかがぶつからないように
名前空間機構を導入してほしいということ。
よくコンポーネント登録するときとか同じ名前のやつが既に登録されてると
登録できないじゃない。わざわざ名前変えたりしてさめんどうじゃーないの。
0032デフォルトの名無しさんNGNG
>>22
またまたあ(藁
0033デフォルトの名無しさんNGNG
>.NET非依存の C#開発ツール出してくれ>某

こんな中途半端なものより、Kylix for 「オープンソース版.Netクローン」のが良いじゃん。
0034 NGNG
VC++のエディタみたいに自動で段落がずれるようになってほしい。
0035デフォルトの名無しさんNGNG
>>22
Stringってどうしてんだよ。
0036デフォルトの名無しさんNGNG
.NET 好きが多いけどみんなはMS派かい?
おれは Delphi の .NET化に興味なし。
.NET したければ C# 使えばいいことだよ。
0037デフォルトの名無しさんNGNG
>.NET 好きが多いけどみんなはMS派かい?

このスレはブビ坊のネタスレ。必死にDelの悪いところを探してこういう話題になってる。
でもブビ坊は触ったことない.NETをほんとに好きかもしれない。
0038DelギコNGNG
    ∧ ∧   />>22
  ∩(,,゚Д゚) <  ガベコレのことでしょ?C++で出来るの?
⊂,,⌒ ,,つつ.  \Javaでもガベコレに頼ると
   ̄ ̄             結局動作が遅くてイヤだという噂もありますが…
    ∧ ∧   / ̄
  ∩(,,゚Д゚) <  確かにDelphiスクリプトは標準であったらベンリ。
⊂,,⌒ ,,つつ.  \ 是非に。Borlandに真剣になってもらいたー
   ̄ ̄  
   ∧∧   />名前空間機構を導入してほしいということ。
〜''~(,,゚Д゚) < 欲しい欲しい
  UU'UU    \
   ∧∧   />.NET したければ C# 使えばいいことだよ。
〜''~(,,゚Д゚) < つまりJavaを使えと・・・
  UU'UU    \いうことですか....
0039デフォルトの名無しさんNGNG
>>38
確かにC++にはガベコレはない。
しかしプログラマに実力さえあれば、粘着質のように究極の安全性を追求できる。

ところがDelphiではそれはできない。
C++Builderではどんな巨大なプログラムでもdeleteを使わずに済むよう配慮する余地がある。
(もし使う場面があっても、完全に隠蔽して表の世界から遮断できる)
だからC++の実力者は__finallyなんて使わない(後かたづけするものがないから)。
しかしDelphiでFreeを使わないようにすることはできない。
finallyが必要なのは、オブジェクトパスカルの完成度の低さを証明している。
例えば、例外発生時にfinallyで処理する必要がないようにクラスを整理する方法がない。

>>22
アセンブラで書かれているようだけど?
004039NGNG
>>22ではなく>>35の間違い。
0041デフォルトの名無しさんNGNG
>確かにC++にはガベコレはない。
>しかしプログラマに実力さえあれば、粘着質のように究極の安全性を追求できる。

finallyの方が究極の安全性がある。オブジェクトの開放順番も自由。
さらにC++ではコンストラクタ、デストラクタのオーバーライドも不自由である。
004241NGNG
念のためだけど、deleteがあること位知ってるからね。

C++では、finallyの記述が一貫してないから非常に困るな。
WinとLinuxとクロス出来ないね。出来るんだったら方法教えて欲しい。
0043デフォルトの名無しさんNGNG
>>41
>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
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=041720
  ∧ ∧    /
  (,,゚Д゚)  <  ナカムラ先生タンもがんばっておられるようです。
  |⊃ ,⊃   \ 解決してるのかな。このスレッド…
@|  |       ダレカ(奥)サマリーつくってくれ
  ∪∪
  これだけガベコレが流行るんだから。Delもなんとかして欲しい。
0045デフォルトの名無しさんNGNG
>>39
interface知らない?

あとはそうだね、やろうと思えばコンポーネント風に
クラスの開放を全部アプリケーションにまかせるとか。

他にauto_ptrもどきの実装もできるし、手段はいろいろあるよ。

勉強不足を言語のせいにするのはハズかしいぞ。
0046デフォルトの名無しさんNGNG
よく考えたらコンポーネントは自分で開放してないね。
0047デフォルトの名無しさんNGNG
>>44
これもおもしろいな
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=041732
0048デフォルトの名無しさんNGNG
BDE はもういらないんじゃないかい。
いまどき Paradox も dBASE もしないだろうに。
それより BDE 経由しない ODBC の TDataSet がほしいな。
極力余計なライタイム不要な方向にしてくれ。>某
0049デフォルトの名無しさんNGNG
>クライアントサイド最強の Delphi
ハァ?
0050デフォルトの名無しさんNGNG
>>49
ほっとけ。隔離スレの意味がなくなる。
0051DelギコNGNG
>>47のリンク先より引用

> 使用例
> 使用したオブジェクトを自動破棄する。
> 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

 隔離スレを利用して最強をアピールしとこかー。
00521NGNG
http://www.f2.dion.ne.jp/~impact14/
0053デフォルトの名無しさんNGNG
デフォルトの名無しさんがデルファイの名無しさんに見える

Delphi for .NETとか言ってる奴は単にDelphiのIDEがタコなんで
MSのIDEが使いたいだけに一票
素直にC#に移行するのが後々楽だと思うが
0054デフォルトの名無しさんNGNG
>Delphi for .NETとか言ってる奴は単にDelphiのIDEがタコなんで
Ver.Up するたびに Delphi IDE のウィンドウが増えてきてて
XGAじゃ見づらくなってるからそろそろIDEのモデルチェンジを
してもらいたいね。
だからといって別にC#をしたいとは思ってないが。
0055Del厨NGNG
正直ネエィティブコンパイルさえしてくれれば俺はC#にうつるぞ。
0056デフォルトの名無しさんNGNG
>>55
・・・
0057デフォルトの名無しさんNGNG
クライアントサイド最強なんてのは実績を残してから言え
0058sageNGNG
OS の威光だけで生き残っているバカ言語。とっととくたばれ。
0059デフォルトの名無しさんNGNG
>>58
VBのことかな?(プ
0060デフォルトの名無しさんNGNG
For I = 1 to 10
って書いたときのエラーメッセージが
[for 文の制御変数はローカル変数でなければなりません]
ってのはどうにかしてもらいたい。

ほかに似たようなのある?
0061デフォルトの名無しさんNGNG
デファイルは糞
0062デフォルトの名無しさんNGNG
Rubyの次はDelphiか。。。
0063デフォルトの名無しさんNGNG
>60
ワーニングじゃなかったかな?
コンパイルは可能。
でも、なんで出るのでしょうかねぇ〜?
0064デフォルトの名無しさんNGNG
>>63
うぅ。分かってもらえない。
For I := 1 to 10
が正解。腹が立っているのは,:= と = を打ち間違えた事を指摘してくれないから。
(I = 1) という論理型の式がある。と判断して(これは正しいんだけど)
意味不明のエラーをだしちゃう。それが嫌。
0065 NGNG
本当だ。 I がローカル変数でも、
[for 文の制御変数はローカル変数でなければなりません]
って出ますね。
0066 NGNG
ヘルプにはこうあったよ!

このエラーは,制御変数が来るべきところに構文エラーがあるときにも表示されます。
たとえば以下のように,i := 0 でなければならないところを書き間違えた場合などです。

for i = 1 to 100 do
begin
end
0067デフォルトの名無しさん NGNG
正直、WindowsのDelphiはもういいから
kylixネタを頼むよ。
0068デフォルトの名無しさんNGNG
KylixはDelphiとの互換性なんて無視すればよかったのに。
0069デフォルトの名無しさんNGNG
まずは勘違いCUI厨房の啓蒙活動からやらないと勝ち目ないかも>Kylix
0070デフォルトの名無しさんNGNG
どのあたりの互換性が悪いの?>>68

>勝ち目ないかも>Kylix
LinuxではC/C++が強いってこと?
0071デフォルトの名無しさんNGNG
>>70
互換性を考えずに理想を追求して欲しかったということでは。
確かにコンポーネントをinterface化して欲しかった。

>>69
啓蒙活動はしなくても、kylixでできたアプリが普及してくれば、
勝手にパラダイムシフトが訪れるでしょう。
Windowsみたいに他のライバルがないし。

そんなことより、PPC版やSH版やMIPS版も開発して欲しい…。
0072デフォルトの名無しさんNGNG
Linuxの開発環境って教えて欲しいな。
まさか、標準で入っているccコマンド(確か、k&r)で開発なんかしないよNE?
0073大雑把にまとめてみるとNGNG
Delphi 使い)
・チャレンジ精神旺盛な人たち
・利用者のスキルレベルは低〜高までさまざま
・主に個人的ユーザが多く熱狂的なコミュニティが構築されている

BCB 使い)
・Delphi との両刀使い(昔はC/C++をやっていて人と思われる)
・Delphi がいいけど ObjectPascal はちょっと...と思っている人たち

VB 使い)
・利用者のスキルレベルは低がほとんど
・作ったソフトの品質は気にしない
・Microsoft 製品じゃないとだめと考える保守的な人が多い

VC 使い)
・利用者のスキルレベルは中〜高
・とにかくコードをしこしこ書くのが好き
・Microsoft 製品じゃないとだめと考える保守的な人も多い(特に仕事において)
0074デフォルトの名無しさんNGNG
>>72
ccつーかgcc。だけど開発環境と言うか言語だわな。
0075デフォルトの名無しさんNGNG
gccなのか。画面ツールとか何使うんだろう。リソースファイル手書きですか?
0076デフォルトの名無しさんNGNG
>>75
普通は全部手書き。
Gtk+ 用の RAD ツールとして glade というのはある。
X-Windowアプリのリソースファイルは手書きで十分。
0077デフォルトの名無しさんNGNG
それって、リソースバリバリのDelphiアプリに見劣りしないの?>>76
それとも、Linux使う時点で、画面に期待されてないとか。
でも、Linuxでもoffice互換ソフトとかあるんだよねぇ。star officeだっけ。
0078デフォルトの名無しさんNGNG
なぜ、GUIをリソースファイルを使って書く方が優れると考える?
007977>78NGNG
リソースファイルの方が劣るよ。
Delphiはリソースファイルじゃなくて、独自dfm形式だよ。
リソース(標準コントロール&独自コンポーネント)を
バリバリに使っているって意味。
008078NGNG
>79
なら、ますます77の意味が分からない。
Kylixの標準(GUI)コンポーネントってQtのウィジェットらしいが、
(http://nsw.nikkeibp.co.jp/nsw/newsshow2.asp?ID=77)
viでソース書いてg++でコンパイルしてQtのウィジェット並べるのと、
KylixのGUIでQtのウィジェット並べるので差異がでるの?
0081デフォルトの名無しさんNGNG
解釈1:リソース=資源一般
解釈2:リソース=Windowsのリソースファイル

>リソースバリバリのDelphi
?
確かにDelphiでもリソースは使われているが(アイコン等)・・・
バリバリ?
0082デフォルトの名無しさんNGNG
素直に読んでね>>81

リソース=Windowsのリソース
リソースファイル=Windowsのリソースを定義したリソースファイル
0083デフォルトの名無しさんNGNG
リソースファイルであろうと、DFM形式であろうと、
実行時はAPIコールなんだから実質同じ>>80

ただ、画面にペタペタはってバリバリ作るのと、
viでリソースファイルをしこしこ作るのでは、出来上がるものが違うでしょ。
0084名無しさん@EmacsNGNG
>>83
出来上がるものは同じだよ。TMTOWTDI!
かかる手間が違うだけ :-)
0085デフォルトの名無しさんNGNG
>>84
手間がかからないほうが、よりよいインターフェイスのために試行錯誤したり、
適切な仕様変更を施したりすることが気軽になって、
完成度が上がるんじゃないか?

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デフォルトの名無しさんNGNG
パッケージファイル内で{$IFDEF} を使えるようにして欲しい。
0089デフォルトの名無しさんNGNG
BDEをアップデートしたらInstall Shieldのisdepend.iniや
swdepend.iniのどのエントリをいじれば良いかの技術情報
を公開してくれんかのう。複数バージョンを単一マシンで使ってる
身としては結構切実なんじゃ。
0090デフォルトの名無しさんNGNG
イベントログを自分のソフトから読む需要なんてほとんどあるとは思えないなあ。
イベントビューアで見ればいいだけだし。
イベントログに書き出すほうならサーバ系なら普通に使うだろうが。
009189NGNG
旧バージョンをダウソして実行してみたけどバージョンは戻らないな・・・
鬱です。
0092DelギコNGNG
        ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄(;゚Д゚)< イヤ・アノ・ソノ・・・>>90
  UU ̄ ̄ U U  \_____________
  純粋にこのページでやってることをパクってみたかっただけなんです、、
  http://www.atmarkit.co.jp/fdotnet/csharptips/002anchor/002anchor.html

  このサイト書いた人に"イベントログなんて読む必要ねーんじゃ(゚Д゚)ゴルァ"って
  逝ったほうがいいでしょうか....たちのわるい読者になてしまいそうです。
0093デフォルトの名無しさんNGNG
Del6.Delphi初めて使ってみたけどおもしろーい。
C++直接通るならイカスぜ。
0094デフォルトの名無しさんNGNG
>C++直接通るならイカスぜ。
え、C++コードは通らないZO!
0095デフォルトの名無しさんNGNG
>>93
それはBuilder
009689NGNG
取り合えずBDEINST.CABからBDEINST.DLLを取り出して
TREGSVR.EXEと同じフォルダに入れ、バッチで、

TREGSVR -q BDEINST.DLL

インストーラで失敗したときに実行するようにしました。
0097デフォルトの名無しさんNGNG
>>94 >>95
いや、直接通る'なら'イカスんだから、
通らないDelは糞、これ、定説。
0098デフォルトの名無しさんNGNG
その意見が糞というのはあり得ないのか?>>97
0099デフォルトの名無しさんNGNG
>>98
あたりまえでしょ
0100Del = 軽量NGNG
>>97
BCB に Obj.Pacal コンパイラが搭載されてるように
Del にも C++コンパイラが搭載されていればうれしいが、
処理が重くなるのはやだっ。
0101デフォルトの名無しさんNGNG
Delphi.NETはまだですか?
出たら触るつもり。
0102こんばんわ!ケイスケです。NGNG
今度はDelphiでvisioのようなものを作らなければ
ならなくなりました。
(回路図を書きたいんですが・・・)
・絵を貼り付けたり・・・
 (コンポーネントをフォームに貼り付けるように)
・貼り付けた絵を線で結んだり・・・
 (その線は絵にくっついていて絵を動かすと線も
  ついてくる。)
等など色々あるのですが、まったく何をどうすれば
このような物ができるか分かりません。

まずはvisioのように絵を貼り付けるにはどうしたら
いいのか皆さんに力を貸してもらえないでしょうか?
かなり本気で困っています。(T_T)

よろしくお願い致します。m(__)m

以上
0103デフォルトの名無しさんNGNG
>>102
素直にvisioを使えとクライアントに言え。
図を編集してデータを出力するようなことをしたければ、
visio+VBAを使え。
0104デフォルトの名無しさんNGNG
で,ケイスケの勤める会社。
http://www.land-grp.co.jp/trip.html
0105デフォルトの名無しさんNGNG
コンテナでVisioを埋め込むとか
http://www.devexpress.com/products/vcl/product.asp?ProdID=12
を参考にするとか
線だけならFree
0106why .NETNGNG
>>101
.NET 対応化を望む理由を教えてくれ?
.NET 化すると
(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
(2) (1) の逆
このくらいだと思うが、おれには得に便利になるわけではない。
それともほかに何か理由があるのかい?
0107デフォルトの名無しさんNGNG
あのさ,
>.NET 化すると
>(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
>(2) (1) の逆
これができるといっている,論拠は何?
0108デフォルトの名無しさんNGNG
それが.NETとういう物なんだよ
0109デフォルトの名無しさんNGNG
1 の提案に戻って、Delphi6 のバグでもまとめないか?

アップデートは撤回されたようだが日本でも以下のようにテスターの
募集が始まっている。

(公人の公開された空間での発言だから転載してもいいだろう)

“ボーランドの”大野です。
というわけで、ちょっと仕事にからんだメッセージで恐縮です^_^;
このパッチについて、すでに日本語版の作成に取り掛かっています。
米国のサイトで案内されているバリアント関連の問題については
そのままなのですが、このレベルのものを日本語版でお試しになりたい方は
いらっしゃるでしょうか。(サイズは 20MB 弱くらいになると思います)
ご興味のある方は [email protected] まで直接ご連絡ください。

さぁ。みんなでメールを出そう。
0110デフォルトの名無しさんNGNG
がんばれ人柱。
0111デフォルトの名無しさんNGNG
>>102
げ某MLにも同じ質問が...
0112バグNGNG
既知だと思うがプロパティエディタで Proxies ユニットがなくて
コンパイルできんぞ。(DesignEditors.pas で uses している。)
いつも思うことだけどバージョンアップするたびにバグのレベルが
ひどくなってるよなー。
ちゃんとチェックすればファイルが足りないことは明白のはずだが
完全に手抜きしているな。>某
Ver.5 のときのプロパティエディタのユニット名とか変更しておき
ながらヘルプにもその旨が載ってないしな。
後でアップデートパック出すからじゃ遅いんだよ。
製品出荷することにもっと責任を持ってくれ!!!>某
0113デフォルトの名無しさんNGNG
>>111
MLからだれかコピペしただけかと。

厨プログラマたたきはマ板でやってくれ。たのむから
0114デフォルトの名無しさんNGNG
Delphi1が一番美しい。
0115デフォルトの名無しさんNGNG
>Delphi1が一番美しい。
そうだね。一番完成度が高かった印象がある。
Win3.1で唯一無二の最高作だよ。
もう一度初心に返ってもらいたいものだ。>某
0116デフォルトの名無しさんNGNG
>>112
今度のはCLXの関係で特にひどそう
でもアメリカでは許容範囲かもね
0117デフォルトの名無しさんNGNG
>>112
Proxies ユニットが無くなったのは Delphi4 から。2/3 との互換性を考えて
ソース/ユニットが提供されていたのにガイドラインに従わずにいたコンポーネント作者の
怠慢は問わないのか?
0118要望などNGNG
・起動に時間が掛かり過ぎ。(Ver.Upのだびに遅くなってく感じ。)
・.exe ファイルでかくなりすぎ。(Ver.Upのだびにでかくなってる。)
・ObjectInspector にプロパティ、イベントが多くなりすぎで
 なんとか使い易くしてもらいたい。

毎々増えてく機能をすべてベースコンポーネントに詰め込んでるけど、
これらを interface にして外に出してせばいいじゃない。
D&Dやドッキングなどは使わないケースがほとんどだからベースクラスから
切り離してもらいたい。
そのとき作りたいアプリに必要な機能だけ interface を実装するように
すれば多少 .exe サイズが小さくなるんじゃないの。
0119デフォルトの名無しさんNGNG
>>117
>Proxies ユニットが無くなったのは Delphi4 から。2/3 との互換性を考えて
実際このユニットファイルがないとコンパイルできんぞ。
0120デフォルトの名無しさんNGNG
ドッキングなんかは、コンポーネントにして欲しかった。
フォームにドッキングコンポを載せると、フォームがドッキング可能になる。
0121118NGNG
>そのとき作りたいアプリに必要な機能だけ interface を実装するように
委譲モデルにした方がいいか。
0122デフォルトの名無しさんNGNG
IDEとコンパイラ+VCLを分離するとどうなるの?
0123デフォルトの名無しさんNGNG
>>120
たしかにそう思うけどそれだとドッキング対象がフォームのみになっちゃうよね。
DBコンポの TDataSet系, TDataSource みたいな感じにすればいいと思うよ。
例えば、
ドッキング元:TDockSource
ドッキング先:TDockSite
みたいなコンポーネントがあってフォームや各種ビジュアルコンポーネントと
関連付けさせるようにしておけばいいと思うよ。
そうすればプロパティやイベントの分散されてObjectInspector に表示する量
も少なくなるしね。
0124デフォルトの名無しさんNGNG
>>122
>IDEとコンパイラ+VCLを分離するとどうなるの?
言ってる意味がわからないんだけど。
IDEあってのVCLでしょ。
IDEがなければVCLの意味がない。
0125デフォルトの名無しさんNGNG
>124
Delphi6のIDEでDelphi3で開発していたプロジェクトを
コンパイルしたいわけです。
VCLやコンパイルをバージョンアップすると、あらたなバグが
潜む可能性があるからねっ!

Delphi7にDelphi1〜Delphi7までのVCLとコンパイラを内臓
していればいい。

コンパイラの最新機能がVCLで使われるから、
VCLとコンパイラの分離は無理だと思う。
0126124NGNG
>>125
>Delphi6のIDEでDelphi3で開発していたプロジェクトを
>コンパイルしたいわけです。
>VCLやコンパイルをバージョンアップすると、あらたなバグが
>潜む可能性があるからねっ!
それならばそのプロジェクトだけ Delphi3 でやる続けるか、
Delphi6 用に調整するしかないんじゃないの。それはしょうがないよ。
仮に Delphi3コンパイラ + Delphi6VCL の組み合わせが可能でも
当然コンパイルエラーになるから意味ないじゃん。

>Delphi7にDelphi1〜Delphi7までのVCLとコンパイラを内臓
>していればいい。
それよりすべてのバージョン互いに干渉しないように同一PC内に
同居できるようになった方がいいと思うが。
0127デフォルトの名無しさんNGNG
>126
>Delphi3コンパイラ + Delphi6VCL の組み合わせ
IDEと(コンパイラ+VCL)の組み合わせです。

Delphi3で開発していたプロジェクトをバージョンアップを、
最新の開発環境(IDE)で行いたいのです。
0128124NGNG
>>127
納得。
IDEだけ最新もの(拡張されたいろんな機能)を使いたいということだね。
そうなれば JBuilder みたいだね。JBuilder は JDK バージョンを切り換えられるから。
0129127NGNG
127の訂正:プロジェクトを→プロジェクトの

>128
そうです。 でも、重くなるのは嫌!
VCLはもういっぱいいっぱい。
0130デフォルトの名無しさんNGNG
>>126
>それよりすべてのバージョン互いに干渉しないように同一PC内に
>同居できるようになった方がいいと思うが。

できるよね?
0131デフォルトの名無しさんNGNG
さっき気が付いたんだけど、Delphiについてくるアイコンとかの
イメージファイルがWindows3.1の頃から変わってなかったよ。
そろそろ更新したほうがいいとおもう。
アイコン作る暇ないとか、そういうときに標準の画像があると便利っていう人は多そう。
標準(エクスプローラとかオフィスとか)の画像はMSの著作物だから無理なのかな。
0132デフォルトの名無しさんNGNG
>>126
前に、Delphi1〜Delphi5まで一緒のPC(OS)に入れていたよ。
Delphi3は入れなかったけど(3.1は入れた)
全部ちゃんと動いていたよ。
この前、OS入れ替えたので、今はDelphi6しか入ってない。
#ボランドってバージョンアップしても前の製品のライセンス消えないよね?
0133デフォルトの名無しさんNGNG
>>106
>.NET 化すると
>(1) VB, C# などから Delphi で作ったクラス等を使えるようになる
>(2) (1) の逆
>このくらいだと思うが、おれには得に便利になるわけではない。
>それともほかに何か理由があるのかい?

それだけで十分だと思うんだけど・・・
それぞれで作ったコンポーネントが、再コンパイルや改変なしに
相互利用できるというのは、素晴らしいことだと思うのですが。

その世界で閉じちゃってる(あるいは、ヒキコモリたい)
人たちには分かんないかなぁ。
0134デフォルトの名無しさんNGNG
>それぞれで作ったコンポーネントが、再コンパイルや改変なしに
>相互利用できる

それがほんとにできたらね。けど同じ宣伝文句で ActiveX コントロールってのが
あったけど,本流にはならずに終わってしまったよね。
0135デフォルトの名無しさんNGNG
Delphiスレはどんなものであっても長続きするのか?
0136デフォルトの名無しさんNGNG
オレはむしろC#-.netがほしい・・・
それかBorland C# Builder(藁
0137デフォルトの名無しさんNGNG
MS製品の中核が.Netに移行する以上はいずれ対応する日がやってくるんじゃないかな?
どっちにしろ、今はDel使うからイイや。当分OSもWin2kで行くつもりだし。
0138デフォルトの名無しさんNGNG
>>130,>>132
以前複数Ver.入れて使ってたときどっちかのコンポーネントパレットの中身がすべて消えたことあったよ。
特殊なことをしたわけじゃないのに。
古いVer.のやつを新しいVer.のより後にインストールしたり、任意のVerを自由にアンイストールしたりしても
それぞれのVer.が完全に独立していればいいけど、現に問題があったから。
0139デフォルトの名無しさんNGNG
>>134
もしかして、ActiveXと呼ばれていたもののうち、
実際に何がどれくらい使われているか知らないのかな?

閉鎖的コミュニティではおかしな発言が正当化されやすいから、
気をつけたほうがいいですよ。
0140デフォルトの名無しさんNGNG
>>136
C# 使いたければ VisualStudio.NET でいいんじゃない。
Delphiライクにフォームにコンポを貼り付けてアプリ作れると思うから、
わざわざ Borland が同じようなものを作る必要はないと思うけど。
0141デフォルトの名無しさんNGNG
>140
136がいってるのはネイティブコードにコンパイルできるC#ってことじゃないの?
0142デフォルトの名無しさんNGNG
>>141
出来るに越したことはないが。
それならば Delphi 同様余計なランタイムがいらない .exe ファイルのみでも
OKにしてもらいたいが、無理のような気がする。
0143デフォルトの名無しさんNGNG
>>140
>>136 じゃないがWindows & Linux対応のC# Builder求む。
Delphi & Kylixと同じようなもの。
Javaほど遅くないからネイティブにはこだわらない。
別にそうであってもいいが。
0144デフォルトの名無しさんNGNG
エンドユーザーアプリならネイティブにする必要ないじゃん。
0145デフォルトの名無しさんNGNG
Delphi のよいところは軽量コンポをサポートしているところ。
(軽量コンポ = TGraphicControlのサブクラス)
重量コンポと同様に扱えるようなしくみにした点には脱帽。
ということでVCL最高!
0146デフォルトの名無しさんNGNG
>エンドユーザーアプリならネイティブにする必要ないじゃん。
遅いより速い方がいいでしょう。
0147デフォルトの名無しさんNGNG
バグがなく仕様が完全に満たされているか、
インラインアセンブラが使えるか、どっちか満たしていればいいや。
じゃないとゲームに使えん。
0148デフォルトの名無しさんNGNG
>>145
軽量コンポーネント、フォーカスをもてないのがちとつらい。
0149デフォルトの名無しさんNGNG
>>147
Delでゲーム作る?正気か?
0150デフォルトの名無しさんNGNG
>>149
またそうやって脊髄反射で書き込みをするぅ。
0151デフォルトの名無しさんNGNG
>>149
ああ、Delじゃないよ
ネイティブだとかC#だとか言う話に対してのレス。
正直糞以外の言語なら何でも良いんで、ライブラリにバグが無いか、
もしバグがあるなら自分で作るからインラインアセンブラ使わせてくれればね。
0152デフォルトの名無しさんNGNG
最初からマシンコードで書けば良いだけの話
0153デフォルトの名無しさんNGNG
>>149
作ってた人はいたけどね。未完のままサイトが閉鎖されたけど。
0154デフォルトの名無しさんNGNG
>>147
Del用のDirectXコンポ使えば。
今どきアセンブラでゲーム作ろうとしてるやつはアホだぞ。
0155デフォルトの名無しさんNGNG
(!! 154 はアホなので無視してください!!)
0156デフォルトの名無しさんNGNG
         ∩
         //
        //
        |:| Λ_Λ  / ̄ ̄ ̄ ̄ ̄
        |:|( ´Α`)< うるせー馬鹿!
        |:|_):∵:(   \_____
        \:∵:∴:\
          |∴:∵ l::|
          |∵:∴ |::|
         /∴:∵/|::|
         |ii;∵;i/ |:|
         |llll||lll|  U
         |llll||lll|
         /ll/ |ll|
        /l/  |ll|
        /l/  |ll|
       /l/   |ll|
      ν    ν
0157デフォルトの名無しさんNGNG
>>149
スミマセンそれオレです
0158デフォルトの名無しさんNGNG
DBエクスプローラについて)

Delphi IDE から起動した場合はフィールドをフォームにドラッグ&ドロップできるが、
別プロセスとして起動した場合にはできないのは不便だ。OLEドラッグ&ドロップで
実現するようにしてもらいたい。
0159デフォルトの名無しさんNGNG
デルファイのエディタで、検索を行うときに、Shift + F3 で逆方向へ検索してほしいな。
0160デフォルトの名無しさんNGNG
C++Builderと一本化しちゃえばいいのに。どうせVCLは
パスカルだし今後のLinux進出考えればC++のがUNIX系の
歴史的に有利だし。デフォで生成されるコードをパスカルに
するかC++を選べるようにとかしてさぁ。。。
0161デフォルトの名無しさんNGNG
今後を考えればC++はないだろ。C#/Javaっぽいのが良い
ぃぬ厨がより高級な言語を理解できるとも思えんが
0162デフォルトの名無しさんNGNG
>>160
でもC++とDelphiのコンパイル・ビルド速度が愕然とするほど違うんだよなあ。
(Delphiのほうがはるかに速い)
両方やるとC++がつらい…
0163160NGNG
>>162
おれCやC++の膨大な資料を活かしたくて最近BC++5.5.1
ゲットしたす。開発効率のDelphiか、資産のC++か。
なんかDelphi持っててC++Builderも買う気もせんし。
0164デフォルトの名無しさんNGNG
>>161
C#はどうだろ?モノは良くともMSしかやらなそうだもんなぁ。
Red hatパッケージにでも入らん限りBorlandは黙殺だろ。
JavaもLinuxブレイク以前はアンチMSの支持集めてたけど
今はimodeくらいしかパッとせんし。
0165デフォルトの名無しさんNGNG
C#Builderが欲しい
0166デフォルトの名無しさんNGNG
DelphiとC++Builderを1パッケージにするなら賛成
0167デフォルトの名無しさんNGNG
仮に Borland が C#Builder を作ったとしよう。
Delphi, C++Builder 同様、ネイティブコードも吐き出せるようにしたとする。
そうなると今後 Delphi, C++Builder が売れなくなるだろう。
一番よい方法はそれぞれが単体でなくひとつに統合すればよいなと思う。
そうすると価格が上がり買われなくなるから、基本統合環境にアドインする
方法でもよい。
Delphi で開発した既存の資産も利用できるようにしないとダメ。
0168デフォルトの名無しさんNGNG
なんでBorlandはPascalを拡張してdelphiにしたのか、いまだに謎。
1パスでコンパイル速い以外に、なにか理由あんの?
0169デフォルトの名無しさんNGNG
>なんでBorlandはPascalを拡張してdelphiにしたのか、いまだに謎。
>1パスでコンパイル速い以外に、なにか理由あんの?
純粋 Pascal ってクラスとか使えないでしょ?
0170デフォルトの名無しさんNGNG
まあC/C++厨房はMFCであがいてなさいってこった。
0171デフォルトの名無しさんNGNG
>>169
いや、だからなんでPascalなの?って事
0172デフォルトの名無しさんNGNG
>>171
Delphiに関しては、Turbo Pascalっていうブランドがあったから。
ブランドで売れると。

Turbo PascalがなんでPascalかってのは、その開発当時はまだ
Pascalは結構普通だったからってのはあるんでは。
アルゴリズム関連の本はPascal多かったし
0173デフォルトの名無しさんNGNG
Borlandにはもう天才プログラマはいない。
機能追加や保守で精いっぱい。
もう新しい言語にチャレンジする体力が無いのさ・・
でもIDEのエディタは何とかして欲しいもんだな。
0174デフォルトの名無しさんNGNG
>>172
当時はまだMacなんてPascalがメーカー推奨の
標準開発言語だったよね。いまやコードウォリアーも
見限った感ありだが。確かに最近始めた人にはなんで
パスカルかわからんのも仕方ないと思う。
0175デフォルトの名無しさんNGNG
Pascalには
ストロング・タイピングなのでC/C++よりもコンパイルの段階でバグを見つけやすく
大文字小文字を区別しないのでコーディングしやすい
という利点がある
0176デフォルトの名無しさんNGNG
最近、CodeWarriorもPascalのサポートやめちゃったね。
そういえばこれもObjectPascalって言ってたけど
Delphiのとどうちがうんだろか?
0177デフォルトの名無しさんNGNG
>>175
大文字と小文字は同一文字の異なる形態というだけなので
それらに異なる意味を振ることができると人間の勘違いミスを
招くってことで同一視のほうがエラー予防になるってことじゃ
なかったかな。
0178デフォルトの名無しさんNGNG
>>177 そうだね
0179名無しヘタぐらまさんNGNG
>>168
恐らく,ターボパスカルのボーランドだからでしょう.
マイクロソフトがベーシックにこだわるのと同じで.

>>176
ANSIが標準化をすすめてきたC/C++と違って
標準的なオブジェクト指向パスカルは存在しないようですから,
各社が勝手に拡張してオブジェクトパスカル
と名乗っているだけなのではないかと.

(そのためか,一部Delphi書籍では
 Delphi Pascalという言い回しを使っています)

ちなみにボーランド自身も,
デルファイの前身であるターボパスカルは
後期にオブジェクト指向言語に拡張していたようですが
デルファイになった段階で仕様が変更されています.
(互換性のためにターボパスカル式の記述もできるようです)
0180デフォルトの名無しさんNGNG
たぶん Delphi1の発売当時、先行していたVB の弱点として
 ”VBがインタプリタだったのに実行までに非常に時間がかかる” <-当時ね

というのがあったから、TurboPascalの超絶的コンパイル速度
を非常に大きなメリットとしてぶつけられるというような戦略もあったのでしょう

実際、少し大きなプロジェクトだとVBは実行が始まるまでコーヒーが飲めましたからね

Delphiの速度があれば、コンパイル&ゴーを繰り返すスタイルで開発出来ます
 デバックがある程度できればそれをモジュール化してゆく訳です

C++Builderの速度だと、ある程度 コーデングデバックも混ぜて
 デバックが済んだモジュールは出来るだけ触らないようなスタイルになって
しまいますよね
0181デフォルトの名無しさんNGNG
そういえばエクストリームプログラミングでも
コンパイル速度はなるべく早く保つというのは
重要な事だと主張されていますね。
0182デフォルトの名無しさんNGNG
>Delphiに関しては、Turbo Pascalっていうブランドがあったから。

>Borlandにはもう天才プログラマはいない。
>もう新しい言語にチャレンジする体力が無いのさ・・

そうとも言えないようだよ http://mentai.2ch.net/test/read.cgi/bsoft/998629435/29-31n
体力が無いのはヘジ、Delphiが売れたのはVBの失敗らしいYO!
0183デフォルトの名無しさんNGNG
>>182 VBについてはこんな話もあったよ↓
http://piza2.2ch.net/test/read.cgi/tech/990101968/116-169
0184デフォルトの名無しさんNGNG
BorlandのPascalは確かにコンパイルは早いという面で素晴らしいが、
本当に技術がある会社ならば、その素晴らしさを新規開発の言語に投入できる
のではないだろか?
DelphiはPascalを独自仕様で拡張してるわけだが、
あのOOP拡張はPascalそのものとは左程相性がよいとは思えない。

新規開発をやらなかったのは、技術的に、過去の資産を使いまわしたのだろう、と思う。
爆速コンパイラの。

#もちろん、ブランド名とかも使いまわした。

悔しい(?)がC#は後発なだけあって、言語仕様だけ見ればDelphiより良い面が沢山ある。
別にC#でなくてもいいのだが、そういう新しくて良い面を、Delphi(または類似品)に
どんどん投入して欲しいものだ。Borlandにその技術があるならば。
0185デフォルトの名無しさんNGNG
おっしゃる通り。

でも、Pascalを独自拡張で限界がきているわけではないから

C#を取り込みつつ既存DelphiPascalを大幅に越える方法があると思う。
0186デフォルトの名無しさんNGNG
そこまでしてDelphiにこだわるのは
はっきり言って怠慢以外の何ものでもない。
C#が良いならC#に移ればよい。
今後Delphiに出来るのはC#の後追いだけ。
0187デフォルトの名無しさんNGNG
>>185
確かに限界なんかは来てないのだが、
微妙な面倒さが少しづつ積もってきている。

たとえばプロパティ定義。delphiだと、メソッドの宣言、プロパティ自体の宣言、
そしてメソッドの実装、とわざわざ三箇所に記述を分散しないとならない。
(そのくせC++と違ってソースを分割することも出来ない)。
javaやC#のように一箇所にまとめられるほうが良いと思う。

言語仕様は、現状に「追加」するというよりも、時として「変更」して欲しい。
まぁ従来のを互換性の為に残すのは仕方ないが、もっとすっきりした構文とかを
順次導入して欲しいと思う。
0188デフォルトの名無しさんNGNG
>C#が良いならC#に移ればよい。

ゲイツ以外の実装が出てくれば、
安心して移る(というか併用:Delをやめる必要もまた有るとは限らない)
ことが出来るんだが…。

どっかの誰かがGPLでC#互換実装を作ってるって噂は本当でしょうか?

なお同じことはJavaにも言える。
AnyWhereっていってもVMが移植されてない環境ではねえ…。
Kaffeでもしとくか。
0189デフォルトの名無しさんNGNG
明示的にSetやGetメソッドを呼ぶことは、全くないわけだから。

propertyに拡張指定子でSetとGetメソッドの記述省略可能になってほしいね。

内部フィールドもpropertyのreadとwriteで記述可能にするとよさそう。
0190デフォルトの名無しさんNGNG
あのさあDelphiスレあげすぎ
自分はJavaユーザーだけど
はっきりいってうざい
煽りたくもなるってばよ
0191デフォルトの名無しさんNGNG
ショウガナイヨ、Javaは出来ること少なくて、終ってんだから>>190
0192デフォルトの名無しさんNGNG
C++とJava/C#のあいだって感じ〜?
0193デフォルトの名無しさんNGNG
おれはどっちも使うけど、
Javaスレの上がりっぷりはもっとウザイのを自覚せえよ(w>190
Javaスレ立てすぎ&バージョンとかメーカー毎に立てるのヤメロ
情報が分散し過ぎ
0194デフォルトの名無しさんNGNG
>>191
いやJavaがどうのこうのじゃなくて
Delphiスレあげすぎでうざいって言ってんだけど
通じないかなあ
0195デフォルトの名無しさんNGNG
>>190
ぷぷぷ、Javaユーザーって心が狭いね(w
0196デフォルトの名無しさんNGNG
Delphi>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Ruby>Java

カスJava消えろゴミくせえんだよ
0197JavaNGNG
悪かった。
WIDOWSしか使えん奴らに何言っても無駄だったな
わりいわりい
0198デフォルトの名無しさんNGNG
190はJavaが遅すぎてストレスが溜まってるんだね
Delphi使えばいいのに(笑
Javaダサすぎ(藁
0199デフォルトの名無しさんNGNG
Write Once, Run Any Where
君達には難しいかな
0200デフォルトの名無しさんNGNG
いや、それはJavaにも難しいだろう。
0201デフォルトの名無しさんNGNG
Write Once, Test Any Where
君達には難しいかな
0202デフォルトの名無しさんNGNG
どうやら、Java使いのフリをしてまた802童貞が荒らしているようだ。

Delphiの言語仕様を新しく考えるのなら
名前空間はしっかり考えて実装してほしい。

同じTxxxというコンポーネント名でも名前空間がしっかりしていれば
同時に使えると思われ
0203デフォルトの名無しさんNGNG
>>202
童貞という言葉にやたらこだわるね
なにか気がかりでも? (w
0204デフォルトの名無しさんNGNG
ていうかこの手の嵐はジサクジエンでしょうな
0205デフォルトの名無しさんNGNG
嵐が去ったようなのでここからはマジな話の再開
-------------------------------------------

あいかわらずヘルプはいいかげんだ。
InterBase Express (TIB...) なんか C++ のになってる。
確信犯としかいえないぞ! > 某
0206デフォルトの名無しさんNGNG
ほんとはPascalなんて使いたくないんだけど、
Delphiで作るの楽だから使ってます。今後のBuilderに期待。
0207デフォルトの名無しさんNGNG
>>205
IBX は Borland の管理物ではなくなったから,しょうがないんじゃ?
英語版からだし.
0208デフォルトの名無しさんNGNG
>>207
> IBX は Borland の管理物ではなくなったから,しょうがないんじゃ?
Del6にはどうやらBuilder用のやつを付けてると思われる。
標準コンポーネントとしている以上ドキュメントはきっちりしないとだめだろう。そんなのは理由にならないぞ。
このことは別にIBXに限った話じゃないことを言いたい。
おれはC++もやってるから理解できるが、それとこれとは話が違う。
高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
はいそうですかで納得するヤツの気が知れないな。>某信者諸君

Delphiというより某に対してだったな。(Delphi自体は最高だと思ってる。)
0209デフォルトの名無しさんNGNG
>>208
何に対して怒っているのか理解できないな
Pascal 表記のヘルプがないことがそんなに問題かい?
0210デフォルトの名無しさんNGNG
「日本語版」でリリースしておいて、実際役に立つ筈のヘルプは
みんな英語だった、って状況と似てるな。
「日本語版」なんだから全部やれよ
0211208NGNG
>>209
言いたいことは
208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
あと最近はどうかしらんがサポート担当者の対応がいいかげんだった。(ど素人って感じだった。)
他ベンダの製品と比べるといいかげんさがわかる。Del自体はすばらしいのに。
0212デフォルトの名無しさんNGNG
>>210
IBX のヘルプは、全部日本語じゃん。

>>211
他ベンダって、どこだよ。
今、日本で開発ツールを提供している会社、どれだけある?

208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
これが間違いの元でしょ?
金を払ったからといって、どんな要求でも通ると思ってはいけない。
ツールの使用権を買っていると思えば怒る気もしない。
0213208NGNG
> 今、日本で開発ツールを提供している会社、どれだけある?
なにも開発ツールに限定した話ではないがな。

>208> 高い金払って買ってるわけだからいいかげんなやり方されちゃ文句の一つも言いたくなるわ。
>これが間違いの元でしょ?
>金を払ったからといって、どんな要求でも通ると思ってはいけない。
>ツールの使用権を買っていると思えば怒る気もしない。
俺が言ってることが特殊な要求か?
最低限のことを言ってるつもりだぞ。
ところで君は金払ってるお得意様に対してそんな態度とってるのか?
0214210NGNG
>>212
ちゃんと読め(w
0215デフォルトの名無しさんNGNG
知識が豊富な開発者相手の商売だからこそ
野放しにされている部分は確かにあるだろう。

あきらめている人間はたくさんいるだろうな。

ドキュメントがないと宝の持ち腐れなのだから
大切にしてもらいたい。
0216デフォルトの名無しさんNGNG
Win32 API なんか英語で C 構文だぜ?
そっちのほうこそどうかして貰いたい。
IBX のヘルプなんか、訳されているだけでもありがたいよ。
0217デフォルトの名無しさんNGNG
type IList = interface abstruct(TList);

とかやったら TList の Public / Published な メソッド プロパティだけ
全部抽出したのが定義出来たらいいのに・・・ 出来るのかな?
0218デフォルトの名無しさんNGNG
>>217
できない。
0219デフォルトの名無しさんNGNG
>>218 じゃ出来るようにしてよ。 ってボーランド人だよね?

ついでに pointer型だけでいいから
IMyList = interface (IList in TEdit);
とかやればプロパティやメソッドの pointerの部分が TEeditに
なるようにしてよ
0220デフォルトの名無しさんNGNG
なんか、めんどくさいことを全部言語処理系に押し付けていない?
0221デフォルトの名無しさんNGNG
>>219
そんなことして何がうれしいの?
0222デフォルトの名無しさんNGNG
そんなこと言わずにお願い!
0223デフォルトの名無しさんNGNG
"Templates in Object Pascal"
http://community.borland.com/article/0,1410,27603,00.html
0224デフォルトの名無しさんNGNG
>>223
この記事いいね。

テンプレートは強力なインライン展開をするマクロとしても使えるが、
その辺はさすがに代用は手段はないか・・・
ま、元々マクロやインラインが不要と言う方向性の言語だろうし。
無理にでも、やるとするとプリプロセッサ作るしかないわな。
0225デフォルトの名無しさんNGNG
現在VBで社内用業務アプリを開発しているのだが、
なんとかしてVBマンセー上司にDelphiの良さを伝えて、
Delphiで開発を行いたいのだ。


上司を説得するにはどうすればよい?
0226デフォルトの名無しさんNGNG
体を売る
0227デフォルトの名無しさんNGNG
>>225 プログラマ板向けのネタだよね。

 まあ結局は作ってみせるしかないと思うよ

でも、その話題、あんまりやると板全体が荒れるから 出来れば移動して欲しいな
0228デフォルトの名無しさんNGNG
VBだって時と場合によっては生産性が高いのは確かだ。
その上司が本当にツールの限界を理解していれば、だけど…。
0229デフォルトの名無しさんNGNG
VB"も"だろ。
0230デフォルトの名無しさんNGNG
Delphiと比べたらVBはゴミ以下
0231 NGNG
ういんどうずでは、VBできればまっいいや〜
Unixは、cだよな〜
まるちはJava。

おれはもっぱらじゃヴぁ
0232デフォルトの名無しさんNGNG
上司がDelphi知らないから、Delphiでの開発に乗り気でないのでは?
0233225NGNG
>>227
わかった。
マ板へと移る。

他にもレスくれた方々感謝。
0234デフォルトの名無しさんNGNG
同期型のコルーチンを記述出来るようにして欲しい

たとえば interface をメソッドに付けると
 インスタンスにローカル変数用のスタック領域を取るように変更される
 SPを切り替えてしまうとOSから例外が出てしまうから
 BPだけを使うようにする

 メソッド内部で switch(引数) のように呼び出すと 外から見たらreturnして
帰って来たように見え、外部からそのメソッドを呼び出すとswitchの所から
処理が継続するような仕掛けね
0235デフォルトの名無しさんNGNG
C++のテンプレート機能が欲しいという意見は良くみかけるけど
ビジュアル開発環境との相性の点で疑問

コンポーネントはコンパイルされていなければ設計時に使えないのだから
0236デフォルトの名無しさんNGNG
>>234
それなにに使うの?
0237234NGNG
>>236
例えば、 圧縮展開なんかのメソッドを
function Thoge.get:char;interface;
begin
 ・・・処理・・
 switch:=c; //ここで同期的にスイッチしてcharを一旦返す
 ・・・処理・・

end;
と書けます。
 このメソッドでデータが出来る都度 switchで外に出し
 外から見ると getを連続して呼ぶだけで扱いが簡単です
0238デフォルトの名無しさんNGNG
>237
オモロイね。オブジェクト指向とちょっとかぶってるかな。
ところでinterfaceというのはどこから来た言葉なの?
0239234NGNG
定義済の単語でinterfaceが一番適当かなと思ったんで。

それと、複数のコルーチンメソッドを持った場合は

switch put(c); //putを呼んだルーチンに帰り、引数cを貰ってくる
switch get:=c: //getを呼んだルーチンにcを帰り値として渡す

みたいにメソッド名で識別できると便利
つまり、パイプみたいな処理を低負荷で出来る
0240236NGNG
>>237
なるほどよく分かった。でもちと言語レベルでサポートするには
仕様が複雑すぎると思う。
アセンブラごりごりなコードを書けばコンパイラに頼らなくでも
実現できそうだ。
0241デフォルトの名無しさんNGNG
fiber使え
0242デフォルトの名無しさんNGNG
>241 重いのと、引数の渡しが面倒です。
0243デフォルトの名無しさんNGNG
scheme使え
0244デフォルトの名無しさんNGNG
俺は演算子の定義が出来るといいな

Cのような演算子のオーバーロードじゃなくて メソッドの定義で
 operator "演算子名"( 引数1,引数2) ;優先順位;
 型は指定しなくてもそのクラスの型になる
 引数が1個なら1項演算子、2なら2項演算子 3項演算子は不要

 使う時は c:=a "*" b みたいに "演算子名"でいいや
 演算子の優先順位は整数の範囲で大きい程上って感じ
0245244NGNG
おっと、メソッドじゃなくて 汎用関数の方がいいな
0246デフォルトの名無しさんNGNG
>>244
カスタムバリアントを使え。
0247244NGNG
なるほど、俺のDelphiには無いぞと思ったら Delphi6からの機能なんだな・・・逝ってきます
0248通りすがりNGNG
>カスタムバリアント
誰も使わないVariantに少数派の要望をねじ込んだ、実にうまい手だ!
0249デフォルトの名無しさんNGNG
三項演算子つくってくれ!!!切実に希望。

if A then
A := B
else
A := C;

を if A ? B : C とかそんな風にかけると、ソースコードの行数が結構減らせてイイ!!
しかも、A の真偽に応じて、B,Cの一方だけしか評価しない奴。
0250-NGNG
本当にそう思ってるのか?
ここで発言てみたいだけなんとちゃうんか?
と問いたい問い詰めたい。

function Iff();
0251デフォルトの名無しさんNGNG
IfThen()
0252デフォルトの名無しさんNGNG
>>251
>A の真偽に応じて、B,Cの一方だけしか評価しない奴
この要求を満たしていない。
0253デフォルトの名無しさんNGNG
「B,Cの一方だけしか評価しない」とは何ぞや?
評価なんてしないと思うが・・・
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フサギコNGNG
type TIntMethod = function: Integer of Object;

function 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フサギコNGNG
>>257-258
 TrueMethodとFalseMethodをInterfaceで定義しておけば
 場面に応じてそのinterfaceを定義したクラスを作り
 使いまわしの出来るコードが作れるかもしれないけど

 ネコは嫌になったからもうしらない。

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧,,∧    ウツダ
  ミ,, ゚Д゚彡
   〃  つ旦~~  
 〜ミ,,,n,,n[ ̄ ̄ ̄.]
        ̄ ̄ ̄
 TFunction = function integer
と
 TAFunction = function(Value: Integer): Integer
も継承関係にあるべきと思うのはおかしいかしら。
0260デフォルトの名無しさんNGNG
3項演算子は単に短く書けるというだけの価値は無いと思います

Delphiは同じ処理を表現する手段がCより少ない事が メリットの一つだと思いますから
無くても良いような機能は増えて欲しくない
0261デフォルトの名無しさんNGNG
だって C の三項演算子は

if aaa
 bbb;
else
 ccc;

の省略記法以上のものではないのだから、下手な細工はやめて if 文で
書いたら?

それに C の三項演算子、決して見やすくないよ。
0262DelフサギコNGNG
  ∧,,∧∩  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ミ,,゚Д゚彡 < >>260-261 リョカーイしまツた
  U  ミ   \____________
  ミ  ミ
 ノ∪∪ 誤ったドツボにはまってシマテタ ノネ
0263デフォルトの名無しさんNGNG
マニュアルがしょぼいよね。
JavaDocみたいなのがほしい。

あるいは有志で整備するか。
0264デフォルトの名無しさんNGNG
Javaみたいなパッケージ階層希望、あるいは C++ みたいな名前空間でもいい。
とにかくコンポーネント名がダブってもよいしくみにして。

delphi.TObject
delphi.TComponent
delphi.TControl
...
com.borland.TDelphiExComponent
...
mydomain.TMyComponent
...
0265デフォルトの名無しさんNGNG
>Delphiは同じ処理を表現する手段がCより少ない事が メリットの一つだと思いますから

三項演算子だけ欲しかった。
Ver6からのVBの関数互換はヤメテクレーって感じ。
0266DelフサギコNGNG
   ∧,,∧   / ̄
\,,,,ミ,,゚Д゚彡 < >>264 ドウイ
⊂,,,,,,,,,つつ.  \_

TCommandなんていう名前定義するの、ドキドキするYO
TFusaGikoCommandで
TFGCommandと命名する方式はとてもカッコワルイ!

CLXとVCLとで名前空間を別に出来ているのだから
ユーザーにも名前空間別にする処理を提供してほしい。

C#みたいに完全に階層構造じゃなくても
パッケージとユニットの2段階層があればかなり便利になるのだ!
0267デフォルトの名無しさんNGNG
名前だけならなんとかなるとしても
 Obj.ClassName が返す名前をどうするの?
0268デフォルトの名無しさんNGNG
>>267
ユニット=Classes
カテゴリ=クラス処理ルーチン

function FindClass(const ClassName: string): TPersistentClass;

名前からClassを得るという活用方法が有るのだから、これでよかろう?

なお
procedure RegisterClass(AClass: TPersistentClass);
を忘れるな!
0269デフォルトの名無しさんNGNG
>>268
同じ名前をもつクラスをひとつのプログラムに同居させたい。という話をしているんですが。
0270デフォルトの名無しさんNGNG
クラス、関数、手続き内のスタティック変数ほしいかな。
今は型付き定数やユニットローカルな変数で代用してるけど。
0271デフォルトの名無しさんNGNG
型付き定数でいけない理由は?
0272DelフサギコNGNG
   ∧,,∧   /よく氏等ニャーが
@,,,ミ,,゚Д゚彡 < 関数などはあとがきuses Unitが優先選択されるのだから
⊂,,,,,,,,,つつ.   \ クラス名も後書きuses Unitが優先されたりはしないの?

 完全な名前空間でなくても便利ならいいんだしー
0273デフォルトの名無しさんNGNG
>>272
それは(プログラム)スコープの問題でしょ?

フォーム上のコンポーネントをプログラム実行時に .dfm から復元するときに
コンポーネントのクラス名から vmt を特定してインスタンスを作成しなきゃ
いけない。このときのスコープはどうなっていれば良いと思う?

極端な話、TMyComp が二つのユニットで別々に定義されていて、それをひとつのフォームで
一緒に使いたい場合を考えてくれ。
.dfm にどのような情報を載せれば二つを区別できるのか。

ってことで結構大変。フォームのことを考えないんなら、ユニット名による
名前空間管理で結構何とかなるんだけどね。
0274DelフサギコNGNG
   ∧,,∧   / ̄
(,,,,,,,ミ,,゚Д゚彡 < なるほど。
⊂,,,,,,,,,つつ.   \_

dfm読み出すとき対応するユニットからクラスを類推するのはだめ?
現状でもpasのないdfmのみだとインスタンス生成しないよね。

もしくはdfmの書式を変えてしまうとか?
0275デフォルトの名無しさんNGNG
Obj.ClassName が返す名前を ユニット名+クラス名にすればよいようだけど
あんまり綺麗じゃないと思うけどなあ
0276デフォルトの名無しさんNGNG
そろそろコンポーネントのウニコード対応してくれYO!
0277デフォルトの名無しさんNGNG
>>276
そんな貴方にCLXをどうぞ
0278デフォルトの名無しさんNGNG
>>276
まともにやると Win98/Me で動かなくなるしぃ
0279デフォルトの名無しさんNGNG
CLXコンポ少なすぎ!
ドッキングもサポートしてないし。
バグまみれだし。
Kylix2が発表されたが期待していいのか?
0280デフォルトの名無しさんNGNG
どうなんだろ。CLX
個人的にはバリバリにLinuxに最適化して使い勝手を上げてくれた方が嬉しいのだが。
Win環境でVCLを捨ててCLXを選ぶのはデメリットが大きすぎる。
それでもクロスプラットフォームの方がメリットがあるのかな。
0281デフォルトの名無しさんNGNG
>>280
それはXP次第だろうな。レジストレーションを避けて
チケット予約端末なんかのLinux化は進行すると思われ。
0282デフォルトの名無しさんNGNG
>>281
チケット予約端末に組み込まれる Windows に個別のアクティベーションが必要なのか?
0283デフォルトの名無しさんNGNG
>>271
全ての型付き定数が代入を許してしまうので、
定数では無くなるのでは?
0284Delphi on WinXPNGNG
あのさ、WinXPでDelphi使うと、F9なんかでIDE内で実行させた後
実行したアプリを終了すると、XPが十数秒固まらない?これバグなの?
0285284NGNG
ちなみに毎回ではなく、3,4回に一回くらいなるんだけど…
0286デフォルトの名無しさんNGNG
せめてポインタの加減算くらいキャストなしでやりたい・・・
0287デフォルトの名無しさんNGNG
>>286 気になる・・・・どんなコード書いてるの? 
0288286NGNG
>>287
会社でゲーム作ることになったんだけど
画像処理にポインタ使いまくるし
0289287NGNG
>>288
 いやキャストってどうやってるのかなって・・・
  ポインタに整数値で前後させたになら -->inc/dec
  ポインタからの相対番地を使う---->配列をポインタにabosoluteして使う
0290287NGNG
あ! もしかして 24bitColorの処理?
  それならアセンブラ使った方が綺麗かも
0291286NGNG
>>289
あれ?ポインタに Inc()/Dec() って使えたっけ?
どーも Inc(Integer(p), line_span); とかしないと
コンパイルエラーが出るなーと思って悩んでたんだけど・・
ちょっと今から試してみます

「配列をポインタにabsolute」の技は知らなかったです
Integer() キャストして Pointer() キャストしてて,鬱になってました
ありがとうです。。。
0292286NGNG
あ,また新たに書き込みが(わらぃ
ずばり,24bitColor の処理です
アセンブラっすか
腕に自信はないけど,ちょうど勉強し始めた分野だー
0293287NGNG
 もしかして p が 単なるPointer型じゃないの? Byte型のポインタならInc/Decで±1
Integer型のポインタならInc/Decで±4されるよ
0294286NGNG
>>293
         (;゚Д゚)ノ < ・・・

───── 失礼しました〜〜 ─────
0295286NGNG
よく考えたら C だって void* の加減算はできないわけで
すっかり忘れてたっすわ・・・(;´Д`)ァゥァゥァ
0296287NGNG
24bitColorを使うならこんな感じね

procedure 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番地
0297286NGNG
クスコ ヽ(´ー`)ノ クスコ
0298デフォルトの名無しさんNGNG
>>284-285

HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Debugging を 0 にしてみたら?

結果連絡よろしく
0299デフォルトの名無しさんNGNG
Delphi.NETアゲ http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20011115/2/
0300 NGNG
.NETっていろんな言語使えるのがウリだよね。

Javaスレは一体.NETのなにと戦っているんだろう?
0301デフォルトの名無しさんNGNG
255.NET>>300
0302デフォルトの名無しさんNGNG
>>299
当然の決断だろうなー。
だけんども、CLIのコードはけるくらいなら、
JavaVMのコードもはけるようになれば面白いのに(冗談
0303デフォルトの名無しさんNGNG
SHR だけでなく SAR 演算子を追加して欲しい

符号付きの変数に対してDIV 2とか定数の割算ならSARになるけど
変数でシフト数を指定したい場合もあるんだから

え? インラインアセンブラ使えって?・・・・ハイハイ
0304デフォルトの名無しさんNGNG
>>303
分かっているじゃないか。インラインアセンブラ使え。

アセンブリ言語にベッタリ癒着した演算子は基本的に
Pascalとマッチしない。
0305pocotinNGNG
Delphi# 希望! 仕様はキミたちが想像してくれい。
ネイディブはもちろん.NETも対応してほしい。
0306テキストプログラマー@delphi1ポンNGNG
きょうはdelphi6へアップデートしないことに決定!!???

理由
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
>5.LINUXを強調しているけれどX86のPCならWindowsだけで十分
> マルチプラットフォームならばWin−CEかMacじゃなきゃ意味なし。
ここだけ妙に主観的。
0308デフォルトの名無しさんNGNG
>>307 だってさ、なぜか知人にまっかーな人が多くって
LINUXな人にならWinでも入れてといえるけどMacにゃ物理的に不可能でやんしょ。

つーかCPUが違わなきゃ、マルチOSっていうなぁ。
最近はPC安いからWinだけに対応しときゃ、最悪PCとソフトセットにしてもよいと思ふ
こっちの手間が省けることが最優先
0309デフォルトの名無しさんNGNG
LinuxはPowerPCでも動いているんだから、Kylixを移植してもらえないものかねぇ。
0310デフォルトの名無しさんNGNG
>309
VCLやObjectPascalがコンパイラマジックに依存しているので、
面倒なんじゃない?
まず、Mac用のObjectPascalコンパイラをつくらなあかんよって。
0311デフォルトの名無しさんNGNG
つーかマカに開発者いないし
0312デフォルトの名無しさんNGNG
>>306
>なんかメモリリークおきやすいとか悪いうわさもある。
これは噂だな。知られているバグは 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デフォルトの名無しさんNGNG
あー今日なんだねアップデート締め切り
0314デフォルトの名無しさんNGNG
Delphiコミュニティで「これが出来ない」 というと 「あんたの能力不足」になっちゃうからなあ・・・・

 まあ確かにそうなんだけどね
0315デフォルトの名無しさんNGNG
>>312
>CBuilder の ARM 版が今度でるでしょ?発表がありました。
ギャーマジ?
パスカルないの?
0316DelフサギコNGNG
> ドッキングを使わないアプリを作るのなら,その部分をコメントアウトしちゃえば良い。
   ∧,,∧      /
  ミ,TДT彡  <  そんなんできません。ってば。
  ミ つ且~~   \
〜ミ,,,,,, ,,ミ  ダレ? イッタイダレガ.... ソンナワザヲ...

> ところで業務・商用利用できるdelphiで一番安いのはD5−learningです。お店にあったら買いではなかろうか..

ンー、ト。金儲けするのにPro版の数万円をケチルというのは
ちょっと体質的にどうかと....思われ
プログラマだって雇っているだけで金が減っていくわけだし。
0317デフォルトの名無しさんNGNG
>>316
うーん。カスタム VCL ってどこでもやっていることだと思っていたのだけど。
個人レベルだとメンテナンスが大変かもしれないけど、企業ユーザーなら困難では
ないと思いますが。特に自社製コンポーネントの再利用で生産性を上げられるの組織なら
カスタムフォーム/カスタムメモリマネージャを用意することに違和感はないと
思いますが。
0318デフォルトの名無しさんNGNG
>カスタム VCL
ライセンスの問題でライブラリとしての配布は出来ないんだろうね。でも欲しいなあ。
0319デフォルトの名無しさんNGNG
>>318
各種バグレポートを集めておいて、パッチを当てたライブラリを用意するくらいの
ことはするでしょ?それの延長。

System/SysInit 以外は、ターゲットプロジェクトに VCL ソースを投げ込んじゃえば
好きに改造できるし、デバッグも楽。あとで各プロジェクトごとに書き換えたソースを
回収するとき大変だけどね。
0320306NGNG
結局アップデートしてしまいました。
12/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デフォルトの名無しさんNGNG
唯一何もしないアプリprogram x;begin end;だけはD5より小さくなるんだよね……
0322ねこまNGNG
>ただし送付されたCD-ROMにはフリーウェアとしてJEDIのヘッダーがついていました。
>OSレベルのヘッダーまでフリーウェア依存というのはやはり問題では?
せっかく JEDI が作ってくれているのだから borland がわざわざ作りなおす事もないでしょう.
ヘッダなんて2つもいらないです.
JEDI の勇士だってバンドルされて喜んでいるでしょう.
borcon 招待されるし,D6 もロハで貰えるし(w

>というよりCD-ROMに入れなくたってURLを入れれば十分では?という感じです。
すべての人がネットに接続できるとは限らないでしょう?
CD-ROM の容量余っているんだから入れたって別にいいと思いますが

とか言う私は今回はじめてバージョンアップを見送りましたが


良いお年を
0323デフォルトの名無しさんNGNG
>>322

全面同意、ああたは賢い!!
0324デフォルトの名無しさんNGNG
>> 305

個人的にはDelphi.NETには、Delphi#よりもUnmanaged Object Pascalになって欲しい。
VC++.NETと同じくCLRに乗ってなおかつネィティブコードを吐くやつ。
実現すれば、C#に限りなく近い言語機能でC++並みの実行速度を誇る.NET最強言語の誕生だ。

で、実際のところDelphi.NETってどうなんだろう…
0325デフォルトの名無しさんNGNG
Unmanagedとネイティブコードは直接関係ないだろ。
0326デフォルトの名無しさんNGNG
そうかもしれないけど、VC++.NETが「Unmanaged C++」を名乗っているから。

#が付くと(safe/unsafeは別にして)中間言語を吐き、 (→ C#, Eiffel#)
Unmanagedが付くとネィティブコードを吐く (→ Unmanaged C++)
「気分」でいました。(ダメ?
0327デフォルトの名無しさんNGNG
と、思ったら、何を寝ぼけているんだ俺は…

324, 326のUnmanagedは、全てManagedに訂正。
うわー、恥ずかしい… (ツッコミありがと
0328デフォルトの名無しさんNGNG
>>322
つうかdelphi自体インターネットに接続しなければBug修正もできないものなんだし
各フリーウェアはみんなインターネットでのみのサポートだということをお忘れなく

そもそもCD-ROMの容量があまってんじゃなくて
わざわざもう一枚のCD-ROMにぎっちりフリーウェアが入っているんですけれどもね、

というかバージョンアップを見送ったねこまさんは
D6-Proがいかに問題があるか体感していないからそんなことがいえるんでしょ。
オーバーロードとかInt64とかフォームのテキスト化とかもあわせて
delphi5が頂点だと思うよわたしゃ(次点delphi3)
0329デフォルトの名無しさんNGNG
.NETならばTMTPASCALっつうほうがdelphiよりよさげだ
あとdelphi6personalよりfreePascalのほうがよさげだ
0330デフォルトの名無しさんNGNG
さすがブビ厨はBASICしか出来ないようだ>>329
0331デフォルトの名無しさんNGNG
へーTMTPASCALなんて知らんかった。class型じゃなくてobject型とか
手続き型にフレームアドレスが含まれてるとか、それほどオブジェクト指向
しない場合はよさそうだね。
日本語通るか知らんが。
0332デフォルトの名無しさんNGNG
もうDelphiバージョンアップしないでいいからバグフィックスに専念しておくれ。
Kylix もバグだらけだし、某国どうしたんだよ。ちゃんとまともなものリリースしろよな!!!
0333デフォルトの名無しさんNGNG
>>332
>もうDelphiバージョンアップしないでいいから
んなこたない
IDEにTestingFrameworkとUMLデザイナを統合する作業が残ってる
0334デフォルトの名無しさんNGNG
Delphiってなんて読むの?
でるパイ?
0335デフォルトの名無しさんNGNG
>>334
正解。
0336デフォルトの名無しさんNGNG
Tobjectを捨てるか捨てないかというのが最後の選択になりそうだけれども
とりあえずclassesとsysutilsは捨てたほうがよさそうだ

なんかHTMLデザイナーみたいなのでフォーム作って
privateに変数宣言してWindowcreate時に動的生成するクラスがいいかなぁと思ったけど
kolというのがすでにやってた。

やっぱ社名をインプライスにした時にdelphiは終わったんだろうか?

IDEやおまけの関数は増やさなくていいから
コンパイラでせめてターゲットCPUオプションくらいはつけてほしい。
あとD6ProにはWin32API Helpはついていないの?うーん

ところで最近SIMDの計算ライブラリーを手に入れたんだけど
これはよかった。最近delphi用のソースは完全に本家を超えている。
0337デフォルトの名無しさんNGNG
でもVCLが厚化粧だからこそ、簡単にRAD用のコンポーネントが書ける訳で、一長一短と思う。
コミュニティーのレベルが高いのは同意。
0338デフォルトの名無しさんNGNG
ドッキング機能とかいらないからもうちょっと軽くしたLiteなFormがほしい
0339デフォルトの名無しさんNGNG
>>338
とりあえずクライアント系のソフトを作る場合
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)というのを使っているのがいやらしいけれど...
0340339NGNG
100の--→100k
0341デフォルトの名無しさんNGNG
>MEMORY PC-100 64MB CL2 1,170円
な時代に高々数百kbケチるために
そこまでするってのもご苦労な話だな。
古いマシンには古いOS・開発初環境がお似合いだよ。
皮肉抜きでさ。
0342デフォルトの名無しさんNGNG
配布の話なんでしょう。ブロードバンドの時代に、っていうのは無しとして。
IE&OLEを使ってメモリ効率も何もないでしょうから。
#最近はTGraphicControlのありがたみも無くなって来ましたねぇ
0343デフォルトの名無しさんNGNG
>341
企業ユーザでないならそれでいいんだけどね。
0344デフォルトの名無しさんNGNG
>>343
企業ユースならなおさらだろ。
開発効率・安定性・開発者の習熟度捨てて
サイズとるなんてアフォのやること。
VCL, SysUtils, Classes, TObject捨てて
なおDelphi使うなんて仕事では考えられない。
0345デフォルトの名無しさんNGNG
客先によってはFDとかダイヤルアップでやり取りするときもあるから
小さいほうが使い勝手がいい
いろんな環境があるので最低Win95でComCtlだけアップデートした環境で動くようにしてる
でも最新のIDEの環境に慣れると古いバージョンはしんどい
JBuilderでJavaのバージョン変えれるみたいにDelphiでも
古いバージョンのVCLに変えれたらいいのに
0346デフォルトの名無しさんNGNG
いまだにFDなんてドキュソな企業だが、それが現実だ。
0347デフォルトの名無しさんNGNG
>344
あんた、企業ユーザじゃないね。
アフォのやることをやらざるを得ない状況に持ち込まれるってことを
理解できていない。プログラマが全てをコントロールできるなら、
そりゃ幸せだよ。
0348ねこまNGNG
あけましておめでとうございます.

>そもそもCD-ROMの容量があまってんじゃなくて
>わざわざもう一枚のCD-ROMにぎっちりフリーウェアが入っているんですけれどもね
そういえばそうだった…….

borland には dfm を UTF-8 にするだけではなく XML そのものにしてほしかった……
そんで TParser を打ち切って XML コンポーネントを pro 版にも提供すべき
この辺かなりガッカリした
0349デフォルトの名無しさんNGNG
インライン関数(メソッド)はあってもいいんじゃない?
問題はinlineが既に予約語なんだよねっ!

#define は読み難くなるから却下。
0350デフォルトの名無しさんNGNG
>349 inline 予約語だけど、使えるんじゃないかな、 inline(バイト並び) でない
  単なるinlineが後置されたら c++のinline相当って事で

interface部には書けないって仕様でも十分便利だし

でも、delphiのような言語を使う場合は、アルゴリズムで高速になるように検討し
それでも不足するならインラインアセンブラでって方式の方がいいでしょう。

C++と違ってプロパティがあるんだから単なる内部変数を読み出したいだけのメソッドを
定義する必要も無いし、多少でも処理内容があるなら インラインにした方がサイズ肥大
=速度低下って時代になってるし
0351デフォルトの名無しさんNGNG
>>348
>この辺かなりガッカリした
かってに期待してかってにガッカリされても一私企業にとってはどうしようも
ないんじゃない?要望リストとして送りつける程度のことはできたんじゃ?
0352デフォルトの名無しさんNGNG
頼むから次期 Delphi には CLX 入れないでくれ。
いれるならオプションの形に。どうせもう使う気ねーからな。
はっきり言って Kylix と互換ねーじゃねーかよ!!!
おまけに Kylix はバグバグバグバグバグ... だらけだし。
まあ、このままじゃあ Kylix は消えるだろうな。
最近の某の製品のクオリティが落ちているが、初心に戻ってほしいよな。
0353デフォルトの名無しさんNGNG
>>352
CLX使っている人ってどのくらいいるんだろう。
俺は、別に付いていても使わないだけだから、どうでもいいんだけどさ。
それより、ヘルプのVCLとCLXがゴチャゴチャに入っているのが許せない。
同じクラス名でVCLかCLXか区別が付かないやつとかあるし。
0354デフォルトの名無しさんNGNG
>>353
たしかにヘルプでいちいち選択するのはウザイよ。
ほぼみんながWinアプリのためにDelphi使ってるから、わざわざコンポ少ない、
低機能なCLXなんかだれも使わんだろうな。
まあ、一度は試したことあるだろうけど。
どうせ使わないんだからCLXなんかやめてしまえってこと。
CLXが原因で多分、
・Delphi6 の品質悪い(今までで最悪)
・起動時間はめちゃくちゃ遅い(全Verとかと比較すると)
・ヘルプ調べるときに VCL or CLX かいちいち選択しなきゃいけない
のようなことが起こると思われる。(もちろんVCL機能拡張などもあるだろうが。)

CLX使って幸せになったヤツがいたらどこがいいのか聞いてみたいよ。
0355デフォルトの名無しさんNGNG
はぁ... ヘルプヘルプ、ってヘルプ読んでいないのがばればれ。
VCL ヘルプだけを出す方法がかかれているのに。
よく読めな。
0356 NGNG
>>355
キミは隅から隅までヘルプ読んでるのかい?
オレなんかは調べたいキーワードがあったときにエディタ上でF1でそいつのヘルプ見るくらいだよ。
必要もないのにいちいち全部読んでる時間なんてこっちにはないいんだよ。意味もないし。

オレは決してDelphi批判してるわけじゃないぞ。
今のところ Delphi は最強だと思ってる。
だからこそ悪いとこは改善してほしいわけだから
自分が思ってる意見を言ってるだけだよ。
0357デフォルトの名無しさんNGNG
そういう人に限って「CLX と VCL の両方のヘルプが見られないのは何事だ!」
とか言うんだろうね。

「自分が思ってる意見を言う」だけなら小学生でもできますって。
まず Readme くらいよんであげなよ。自分の頭が悪いことを
長々と書き連ねるな。見苦しい。
0358デフォルトの名無しさんNGNG
>>357
>そういう人に限って「CLX と VCL の両方のヘルプが見られないのは何事だ!」
>とか言うんだろうね。
両方使って幸せになってるヤツならそりゃ言うだろう。
ちゃんと>>354を見な。圧倒的に使わないヤツが多いわけだから(推測だが明らか)、
そのおかげで不便を強いられてるなら VCL を優先させるのは当然だろ!

>「自分が思ってる意見を言う」だけなら小学生でもできますって。
>まず Readme くらいよんであげなよ。自分の頭が悪いことを
>長々と書き連ねるな。見苦しい。
ここは意見を言う場なのだよ。見たくなければ見なきゃいいだけのこと。
0359デフォルトの名無しさんNGNG
>>358
2ch って意見を言う場だったんですか?匿名がなれ合う場じゃ無かったんですかね?
便所の落書きも意見ですかね?

単に頭に浮かんだことを垂れ流してもそれを意見とは言わないものです。


0360デフォルトの名無しさんNGNG
>>359
言葉の定義で揚げ足取りかよ、おめでてーな。
0361デフォルトの名無しさんNGNG
終わりか? >> 358
揚げ足取られて逆切れするな。ガキめ。

Delphi6 がでて半年経っているけど ML でも news でも 2ch でもだれも話題に
していないのはなぜだと思う?ちょっとは冷静に周りを見回してみろよ。
あんたが不満に思っていることが, ほとんどの人にとって取るに足らないこと,
すでに解決済みの事だったりするんだよ。もちろんすべてがそうとは言わないが。

この一点のみで, あんたの意見なるものは便所の落書きに決定。
0362360NGNG
>>361
358≠360
0363デフォルトの名無しさんNGNG
ここは言葉の汚い fj ですか?
0364デフォルトの名無しさんNGNG
>>353-354 既出だと思うけど
ヘルプ-カスタマイズでCLX関係を削除すればいいだけのこと
0365デフォルトの名無しさんNGNG
どっちもどっち。いい加減にしなさい。
0366デフォルトの名無しさんNGNG
README.txt の以下の項を読んでくれな。

注意事項:
オンラインヘルプ

CLX ヘルプ参照のリンクを解除するには
[Enterprise 版および Professional 版のみ]
0367通りすがりNGNG
>>361のレスも便所の落書きに一票
無論コレモナー
0368DelフサギコNGNG
実際に使われる頻度は少なくても
Borlandのクロスプラットホーム開発環境を作れる技術力の
アピール、Linuxを利用した
Borlandツールのマーケティング戦略には
非常に効果があるのがCLXだと俺は思いマフ

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧,,∧   VB/VCには絶対マネできない
  ミ,, ゚Д゚彡 ことが出来るというのはいい事だよ
   〃つ旦O
 〜ミ,,[ ̄ ̄ ̄.] だから二系ソフトでも特集扱いなんだし。
      ̄ ̄ ̄
アパーチのDLLモヂウル開発でも
ASPを圧倒してくれたらいいんだけどなー(妄想)



ところで、
XPの小規模リリースの原則から言えば
Borlandの
「出来上がったものだけしか発表しない」
という、意味の無い"伝統"は
百害あって一理なしだと思う。

VSやC#のβをたくさんリリースするMSを
見習って欲しいんだけど、どう重います?
0369デフォルトの名無しさんNGNG
>>368
ボーランド製品 = 世間で言うところのベータ
0370DelフサギコNGNG
ファーイ
|,,∧∩ 実は俺もCLXとVCLヘルプ表示には
|Д゚彡  あきらめモードだったです。
| ミ′  リードメに書いてあるとわ。
| ミ
| U   誰に感謝すればわからないけど
    サ〜ンクスコ
0371デフォルトの名無しさんNGNG
>>368
M$だけは見習ってほしくない。あんなヤクザな会社にだけはなってほしくない。
堅気の会社でいてくれ。というかもう既に影響されまくってる
気がするが。
0372デフォルトの名無しさんNGNG
>>368
サンセーイ。あとこまごましたもの(エキスパートとか)もちょくちょく出してくれると
嬉しい。
0373デフォルトの名無しさんNGNG
>>369
たしかにそれは言えてるかも。
初代Delphiの完成度の高さはピカイチだったが、
最近は金儲けに走ったせいなのかどうか、
ろくに品質テストもしないでリリースしてるんだろうな。
会社が製品リリース間隔が異常に短いのがやはり気になる。
0374373NGNG
> 会社が製品リリース間隔が異常に短いのがやはり気になる。
「会社が」の削除希望
0375デフォルトの名無しさんNGNG
>>373
内部関係者?
0376DelフサギコNGNG
   ∧,,∧    
  ミ,,゚Д゚彡  
  ミ つ且~~   
〜ミ,,,,,, ,,ミ

β版で利用者にテストを兼ねさせるという事を
ほとんどやらないから、バグが多いのかも。

[cbuilder:33588] Re: C++Builder6?
にもかかれているけど

どうしてリリース計画を明らかにしない
という事にこだわるのかな。

新分野を開拓する画期的製品を
リリースしているわけでもないんだし。

…MSに新機能をぱくられるのが嫌とか?
0377デフォルトの名無しさんNGNG
>>376
ベータ版を公開してもバグレポートが帰らないから。です。
MS にしても Borland にしても、公開ベータはマーケ的宣伝以上の
物ではありません。
0378デフォルトの名無しさんNGNG
Delphi2はβ版ありませんでしたか?
0379デフォルトの名無しさんNGNG
>>377
つか、日本語でバグ報告してもさ、それを某が確認&翻訳して本社に伝えるのは
大変なコストがかかりそうな気がする。
0380デフォルトの名無しさんNGNG
だから日本語環境は見捨てられていく...
0381ねこまNGNG
やっとバグ報告が集まった頃にはもう次のバージョンになってしまう
(未知のバグがいっぱいの……)

Delphi5 Update2 出せ!
0382デフォルトの名無しさんNGNG
バグ集めても公開しないんじゃ直る日はこないな。
http://www.infonia.ne.jp/delphi/ ここも忘れられて久しい。
0383デフォルトの名無しさんNGNG
Delphi7 Wish List あげ
0384デフォルトの名無しさんNGNG
やっぱヘルプのことが言われたね。
0385デフォルトの名無しさんNGNG
なんか、あんなヘルプじゃ Copy の使い方を勘違いするとか言ってたな。
リファレンス部分でいちいち初心者を意識した冗長な書き方されたらうざいんですけど。
初心者は入門書読んでから出直せって感じ。
0386デフォルトの名無しさんNGNG
>385
正論だがそんなこといってるから
信者獲得&勢力拡大できないんだよ。
0387デフォルトの名無しさんNGNG
ヘルプか・・・やっぱりか・・・
まあ当然だろうな。
0388DelフサギコNGNG
Delヘルプが使いにくいってのは、そういう事だったのねー。
Del使ってばかりいる人には気が付けないいい視点
MLの人が「文法文法」って言ってるのに萎えた。
彼らは他言語習得にマニュアルを活用したことないのかな。

サンプルが沢山載ってるのが
言語習得には確かに効果あり。

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧,,∧  
  ミ,, ゚Д゚彡 
   〃つl⌒|⌒l
 〜ミ,,[ ̄ ̄ ̄.]
      ̄ ̄ ̄
VB使うときHELPの記述が少々変でも
サンプルコードで実行結果が予想できて
実にわかりやすかった事を思い出したYO.
0389デフォルトの名無しさんNGNG
>彼らは他言語習得にマニュアルを活用したことないのかな。
先に言語リファレンスを通読します。その後サンプルコードと言語
リファレンスを対比しながら読みます。
ヘルプの各項目にサンプルが必要とまではいかないです。
0390デフォルトの名無しさんNGNG
>先に言語リファレンスを通読します。
だからこんなの↑基準にしてたらいつまでたっても今以上にはならないんだって。

ちょっとでもつまずくとすぐ止めてしまうような人間を基準に考えないと。

0391デフォルトの名無しさんNGNG
いや、正直、信者は要らない。
いろんな環境を普通に使える普通の技術者に使ってもらえればそれで良し。
現在そうなっているから特に広めなくていいよ
0392デフォルトの名無しさんNGNG
>>390
>彼らは他言語習得にマニュアルを活用したことないのかな。
に一つのサンプルとして答えただけ。
0393デフォルトの名無しさんNGNG
すべての関数と手続きに簡単な例を付けるだけでいいと思うんだけど
Borland はやらないんだよねぇーーいつまでたっても……
0394デフォルトの名無しさんNGNG
M$みたいに売れてないから
そこまで手が回らないと思われ
Webで公開して有志に任せたらいいのに
最後に某がリリースすればよさげ
0395デフォルトの名無しさんNGNG
>>394
それやろうとして,結局誰もファイルを提供しないのでこけた実績あり。
0396デフォルトの名無しさんNGNG
>395
これだね。
http://www.freeml.com/ctrl/html/JoinForm/delphihelp
0397デフォルトの名無しさんNGNG
そう。編集システムのことばかり気にして崩壊。
途中から Borland 版ヘルプの逆コンパイルとか、かってに HTML ヘルプにして
公開しようとかって話になり、ライセンスの指摘を受けて確認したら案の定断られた。

オープンソース的プロジェクトの失敗の典型例。オープンソースが悪いと言うわけではないぞ。
0398デフォルトの名無しさんNGNG
UNISYS買収して、VCLでGIFをサポートするのはどぉ?
0399デフォルトの名無しさんNGNG
>>398
だれが買収すんだ?
おまえか?
0400デフォルトの名無しさんNGNG
結局全員クレクレ君ばかりで何事も上手く行かないのだ。
0401デフォルトの名無しさんNGNG
>>399
私はぁ、ボーランドの経営にタッチしてないので、買収できません〜
0402DelフサギコNGNG
  ∧,,∧    /
  ミ,,゚Д゚彡 < 某社の人がリーダーシップ発揮して
  ,;゙  ミ     \ 作って欲しいサンプルのリストくらい
 ミ.  ミ       見せてくれりゃいいのにネ
/゛゛゛゛
           今のまんまじゃ、何のサンプル作ったらいいか
           わかんねし。

 BorがUNISYSバイシュウできるわけないのでは?
 会社規模だと、逆じゃないのかしら。
0403デフォルトの名無しさんNGNG
proだと VCLソース見れば使い方のサンプル判るけど
入門者に優しくなければならない筈の std/Personalが一番優しくないからなあ・・・
0404デフォルトの名無しさんNGNG
前に、MLかなんかで、サンプル集だったか、見やすいヘルプだったかを
作るプロジェクトを立ち上げた人いなかったっけ?
どうなったんだろう。。。
もし、ポシャっていたら、Delスレ住人でプロジェクトを立ち上げようかとか言ってみるテスト。
0405デフォルトの名無しさんNGNG
それが >>396
0406デフォルトの名無しさんNGNG
>           今のまんまじゃ、何のサンプル作ったらいいか
>           わかんねし。
ヴぁか丸出し。こんな糞レスつけてる暇があったら、
サンプルのひとつでも書いてageてみろや。
0407DelフサギコNGNG
      ∧,,∧l||l  なんで煽られてるんだろ…
       ;゙⌒ヽ彡  
     〜ミ___ミ
    ''" ""''"" "''
          クワッ
       ∧,,∧l||l  2チャソで
       ;;゙ミ゚Д゚彡  サンプルのひとつやふたつや
     〜ミ___ミ    みっつやよっつや…
    ''" ""''"" "''  20ッツくらいは書いてんじゃん!

今日もVBで
文字列のIndexが0から始まるか
1から始まるか忘れてたので
Mid$のヘルプみてヘルプ文はみてもどうせわけわかなので
Midのサンプルみて速攻、わかったです。

こういうヘルプがDelphiの
CopyやDeleteにも必要ってことっしょ。
0408デフォルトの名無しさんNGNG
with文の是非(1/3)

私は少し前までは主に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デフォルトの名無しさんNGNG
with文の是非(2/3)

4.構造上の欠陥(将来的にバグを生む原因となる可能性)
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
with文の是非(3/4)←3ページではおさまりませんでした
・ここで以下の処理を実行します。
[処理]
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
with文の是非(4/4)

・致命的なのは次のように名称も引数リストも同じというケース
です。
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デフォルトの名無しさんNGNG
ML の感想文を書き写すなよな。

with 文も含め,状況によって使い分ける。それだけ。

使う前に天秤にかける意味はない。使いながらメリットが多ければ使う。
それだけ。議論の立脚点が違うのでこれ以上は議論にならず。
0413デフォルトの名無しさんNGNG
with って単なる構文糖衣A じゃないの?
プロパティの初期化にはよく使ってる。
0414デフォルトの名無しさんNGNG
俺はwith文はほとんど使わない。
それを人に押し付けようとはしない。
そして、読む気の失せる長文で人に相談しようとはしない。
0415デフォルトの名無しさんNGNG
withはオリジナルpascalからあるんだよ、文句はWirthに言ってくれ。
0416デフォルトの名無しさんNGNG
withはデータ利用の局所化を促すので最適化にいいんでなかったっけ。
しかし非("否"じゃないのか)とかいってるのなら、クラスのメンバでのselfや
namespace(unit name)も省略不可にしろとかいうのなら厳密性は高まるといえるだろうが。

ってのはともかくwithは、それを使ったほうが明らかに読みやすいと思う場面でのみ
使ってるな。
withっぽく縮めたいが紛らわしくなりそうなときは、ポインタの一時変数に代入して使うかな。
0417デフォルトの名無しさんNGNG
with はVCLインスタンスをその場で作って解放するなんて時には便利だけどね

例:
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になる構文だったらもっといいな
0418417NGNG
ただ >>417のように書くと、デバックの時に苦労したりするから
完全に定型処理で コナレタような場合限定だからね
0419DelフサギコNGNG
┏━━━━━┯━━━━━
┃          |
┃          |
┃       ∩∩  
┃       ∧ ∧ ソレ コピペ チャウ?
┃      ミ,,゚Д゚ミ 
┃       ミ  ミ フゥ…
┃       ミ  ミ
┃       ミ  ミ
┃       ..U..U
┃         
┃ ぶら下がり倦怠期
0420デフォルトの名無しさんNGNG
>>414
>そして、読む気の失せる長文で人に相談しようとはしない。
ごめんなさい。
>>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
>点4の構造的な欠陥がどうしても無視できません。
で、あなたがこのトラブルに遭遇した回数は?
0422 ◆xDd9P2XM NGNG
羮に懲りて鱠を吹く。

0423デフォルトの名無しさんNGNG
>>420
 なんかC言語使いの移植性がどうとかばかり言ってる人と共通するニオイ

その4と似た問題は with使わなくても 例えばDeleteでも起きてるんじゃないのかな?
0424デフォルトの名無しさんNGNG
何があっても大丈夫なように
unit名まで完全修飾してますが何か?
type
 Boolean = 1..2;
var
 a: System.Boolean;
 b: Unit1.Boolean;
0425デフォルトの名無しさんNGNG
結局さあ C言語ではローカル変数での構造体の初期化がその場で出来る機能

つまり
a={"AAA","BBB",123}

があるけど、
pascalでは その代わりに with を用意したって事だと思うよ、その方が柔軟な事は確か

だから、初期化程度に利用したらいいんじゃないの?

>>417 のようなその場でインスタンスはその悪用みたいに感じるけどねね
0426デフォルトの名無しさんNGNG
var節でしか変数宣言できないPascalは文法レベルでのwithは必要だろう.
使うかどうかは別として.
0427デフォルトの名無しさんNGNG
>>409
with文の中で指定したクラス以外のメンバにアクセスするときは
そのクラスを明示するべきではないのか。
そんなコード書くのが悪い。

あなたがその問題点を理解しているなら、いくらでもそれを回避したコードは書けるだろう?
どんな道具でも使い方次第。
0428デフォルトの名無しさんNGNG
>>423
>その4と似た問題は with使わなくても 例えばDeleteでも起きてるんじゃないのかな?
??どういう場合でしょうか?いまいち思い浮かびません。よろしかったら参考までに教えていた
だけないでしょうか?
0429デフォルトの名無しさんNGNG
>>427
>with文の中で指定したクラス以外のメンバにアクセスするときは
>そのクラスを明示するべきではないのか。
ということは、
with TCls2 do
begin
slst.Add( FuncA() );
slst.Add( TCls1.Func2() );
//又は slst.Add( self.Func2() );
end;
とするべきだということでしょうか?でもこの関数はTCls1クラスの関数だしFunc2も同じく
TCls1クラスの関数だから普通は明示的には書かないのでは?というかそれをやる(withで指定した
以外のオブジェクトのメンバへのアクセスは明示的に示す)ならwith文で書くメリットも薄くなる
ように思います。
>そんなコード書くのが悪い。
あれはあくまでも問題点を説明するためのソースなので実際私がそういうコードを書いているわけ
ではありませんが、実際あの手のコードはよく見かけます。
0430デフォルトの名無しさんNGNG
>>421
>で、あなたがこのトラブルに遭遇した回数は?
ありません。ただ構造上は発生しても何の不思議も無いなーと思います。潜在化しているだけで
実際には遭遇していても気付かないという可能性もあります。実際、この現象が発生する可能性
というのは確かに低いものだとは思います。(そのような報告を耳にしたこともないし・・・)
結局この問題点に関してMLやこの掲示板に投稿したりした結果の反応をまとめると、
・with文の乱用は良くないが適切な使いかたをするなら特に問題はない。
・というか必要だ。
まあ大抵の場合は条件付で「是」という考えのかたが多いみたいです。結局私が気にしすぎている
ということかもしれません・・・。ただ私は仕事でPGを書く場合は割と保守性に重点をおくほう
なのでやはり今後もwith文を使う気にはならないとは思いますが皆さんのご意見は大変勉強になり
ました。ありがとう御座いました。ちなみに今回私がここらへんの問題を考えたのは現在仕事で目
にするソースコードに無闇に深くて長いwith文のネストがあったりしたのを目にしたせいで「いっそ
のことwith使用禁止にしてくれ」と思ったことがきっかけです。そのためwith文の粗捜しをするよう
なひねくれた書き方・考え方になっている部分もあったかもしれません。
0431デフォルトの名無しさんNGNG
>>430
端から見てたが、>430が話の分かるタイプの人で安心した。
結局は、

■乱用は良くないが適切な使いかたをするなら特に問題はない。

なんだよねぇ。
つか適材適所というか。
0432デフォルトの名無しさんNGNG
with 文は このような場所で短いサンプルを出すときに読みやすくて良い。
0433Delフサギコ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デフォルトの名無しさんNGNG
そういやCで
int* a,b;
としてbがポインタになってくれないの嫌いだなあ。
0436デフォルトの名無しさんNGNG
出来の悪い人ほど、思ったとおりにいかない時に道具のせいにする。
誰もが通る道だ。430 さんもめげずに。単に使いづらけりゃ使わなきゃよい。
0437DelフサギコNGNG
>誰もが通る道だ。

       ヽ从/
     γ´ ̄ヽ(ヽ ←!! 禿げ
      ミ;゚Д゚彡
     ミ  つ ミ   シク同意
   〜ミ    ミ
     )ノ ヽ)
0438デフォルトの名無しさんNGNG
with より goto や absolute が嫌じゃないのが不思議

それから a[8.) とか書けるって知ってた?
0439デフォルトの名無しさんNGNG
自慢したかったのか?
>[ は文字の組 (. に相当し,] は文字の組 .) に相当します。左カッコとアスタリスクの組み((*)と右カッコとアスタリスクの組み(*))は,左右の中カッコ({ }
)に相当します。
0440デフォルトの名無しさんNGNG
>438

そんな書き方するやつとは仕事したくないと思わん?
0441デフォルトの名無しさんNGNG
同意
0442デフォルトの名無しさんNGNG
.Net 対応
ttp://www.borland.com/about/press/2002/net_platform.html
0443デフォルトの名無しさんNGNG
>>417

varが途中でも書けたらさらにいいな。(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
>>443
 それは高速コンパイルの障害になりそうだから嫌
0445デフォルトの名無しさんNGNG
 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;
でいいじゃん。
0446デフォルトの名無しさんNGNG
>>442
ま、予想通りか。
C# にも対応するのかな?
0447デフォルトの名無しさんNGNG
>>438
しらんかった

>>444
高速な実行の障害になりそうだから嫌と.Net対応にもいってやれよ。
0448デフォルトの名無しさんNGNG
>>435
typdefでも駄目だっけ?
0449デフォルトの名無しさんNGNG
もともとvarブロックとbodyブロックを分けてるのはソースの全体を
調べなくても、ある変数の型が分かる(varブロックを見ればいい)
ってことじゃなかったっけ?今だとエディタの支援を受けられることが
多いからありがたみも薄れるかな。
0450デフォルトの名無しさんNGNG
C++ 風の必要なときに宣言する記法は、PASCAL だと入れ子関数/手続きとして置き換えることが
できる。

だいたい、ループ管理変数なんて非常に局所的にしか存在しないのだからまとめて一つの手続きに
仕上げた方が見やすい。

もちろん程度の問題だし、途中宣言できても文法的に破綻することはないとおもうけどね
0451デフォルトの名無しさんNGNG
>>450
破綻したコードは書きやすくなる。
0452デフォルトの名無しさんNGNG
>>449
変数の有効範囲が広い場合のデメリットの一つとして「デバック等のソース解析時
に変数を追跡するべき範囲も広くなる」という点があると思う。
例えば、
   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のブロック内部に限定され
るのでその分コードの解析も容易になるように思うのだがどうだろう。
0453443NGNG
んー、じゃあ、withの話からはずれてしまいますがfor限定で。

for I: Integer = Low(TheArray) to High(TheArray) do ...

元々Pascalはforを出たらIの値は保証されない文法ですから、
この方がスコープが値の有効範囲と一致していいと思うのですが。
(Adaなんかもループ変数だけはfor I in 1..10 doっていきなり書けますし)
0454443NGNG
ごめんなさい。Adaの例を for I in 1..10 loopに修正。
0455デフォルトの名無しさんNGNG
いやだから、それはこうやって書き直せるでしょ?
って話。C だとこの書き方ができないから C++ であの記法が入った。のではないかな?

   procedure xxxxxxx;

    procedure yyyyyyy;
    var b, c, d, e: Integer;
    begin
        (略)
    end;

   var a : Integer;
   begin
     (略)
     if( xxxx ) then
      yyyyyyy;
     (略)
   end;
0456443NGNG
++の付かないただのCでも、{ の直後ならどこでも変数宣言できますよね…

void func(void)
{
 ...
 {
  int a;
  ...
 }
 ...
}

C++の、ブロックの先頭「以外」でも宣言可能な機能は、
コンストラクタが働くタイミングを制御したいから、ですね。
ObjectPascalでは自動で走るコンストラクタは無いので
(stringやVariantが空に初期化されるぐらい)、関係なしです。

ルーチンのネスト構造を考えた場合、
Cなんかでは「グローバルとローカル」の二段階しか無いですが、
Pascalは関数内関数によっていくらでもネストが効きますよね。
グローバルとローカルの関係を、「内側は外側を参照できる」として一般化したものが
Pascal系言語の関数内関数だと思います。

一方、途中宣言は>>452さんの言っているように、「使う範囲のみにスコープを限定する」ためのもので
用途が違うのでは無いでしょうか?(代用が効くのは確かですが…

関数内関数って、処理の流れが上に折り返すので、あまり読みやすく無いし。
( Adaは関数内関数とdeclareによる途中宣言を両方できるし
0457デフォルトの名無しさんNGNG
>関数内関数って、処理の流れが上に折り返すので、あまり読みやすく無いし。
これを読みやすいととるか読みづらいととるかの違いでしかないな。
0458デフォルトの名無しさんNGNG
>関数内関数って、処理の流れが上に折り返すので、あまり読みやすく無いし
別に関数の動作が分ってればわざわざその場で上に折り返して追う必要性を感じないが。
まあ、おざなりな関数名で説明もついてなければ追わざるえないけど(苦笑)
0459デフォルトの名無しさんNGNG
関数・モジュールに分割すると、処理の流れがバラけるので、あまり読みやすくないし。
トップのbegin/end.ブロックにすべて書くのがいいよね。
0460デフォルトの名無しさんNGNG
はいはい。
0461デフォルトの名無しさんNGNG
>>459
最後には GOTO 文まんせーとでもいうのか。
構造化言語を真っ向から否定するような発言しやがって。
0462443NGNG
>>459は俺への皮肉でしょうか

見にくい見やすいの話題を加えたのは俺のミスです。
後で考えれば論争にしかなりませんしね。すいません。

456で本当に言いたかったのは、
関数内関数と変数の途中宣言は、片方で片方を代用できるけれど、
本質的には用途が違うのでは無いか、ということなんです。
0463デフォルトの名無しさんNGNG
きのうProfessionalを買ってきてPersonalと入れ替えたんだけど、
Personalに比べるとコンポーネントの量が半端じゃないので
IDEの起動が3倍くらい遅くなってしまった

CLXとか使わない人ならPersonalの方がいいかもしれない

一部の人しか必要なさそうなコンポーネントがたくさん並んでるので
自分のいらないものは外しておこう
0464デフォルトの名無しさんNGNG
使わないパッケージははずす。が基本。
プロジェクトごとに管理できるかららくちん。
0465デフォルトの名無しさんNGNG
Personalならコンポーネント全部ロードしても大したことないから
コンポーネントの取捨選択なんて考えてもみなかったけど
Professional以上の版だと膨大なコンポーネントがついてるから
ちゃんと管理しないと大変
0466デフォルトの名無しさんNGNG
フィルターをスマートに書けるようにして欲しい
具体的に言うと、クラスのメソッドがコルーチンで書けるようなもの

クラスメソッドで
 Filter だけをつけると スタックをグローバルスタックではなく その
 クラス内に取られたクラス内ローカルスタックを使う
 
 FilterInterface という識別子をつけるとフィルター名となり
  呼び出すとコルーチン切替を起こす
0467デフォルトの名無しさんNGNG
>>466
やりたければやりなさい
Delphiはそれを妨げたりはしません
0468デフォルトの名無しさんNGNG
>466
なんとなく面白そうだけど、それってどういうときに使うの?
0469デフォルトの名無しさんNGNG
>>468 フィルターって言ってるんだから 圧縮とかエフェクトを
 入力と出力をつなぐように書きたいんだろうと思うが?

つまり 関数Aで input() と 関数Bでoutput(c) と書いたら接続されて同期するって事でしょう
同期しないならFIFOバッファでいいだろうけど

コルーチンはOSの管理のせいでスタック切替で実現が難しくなってしまってるみたい
だから、ハードウエアスタックではなく 擬似スタックを使いたいのでしょう
0470デフォルトの名無しさんNGNG
Update Pack 2が落とせん
むちゃくちゃ重い
0471デフォルトの名無しさんNGNG
完全マルチプラットフォームな NEW Delphi が欲しい。

0472デフォルトの名無しさんNGNG
>>471 昔 JAVA-VM用のDelphiを作ってたらしいね。
  今でもエラーメッセージにその名残が見つかる事が・・・という事は殆どリリース直前まで行ってたのかな
0473デフォルトの名無しさんNGNG
>>463
Professinalだけどコンポーネントほとんど使わんから
パッケージ全部はずしてパレットごと非表示にしてるよ。
でも起動はそんなに変わらんよ。スペック低い?
0474デフォルトの名無しさんNGNG
>>472
( ゚д゚)JAVA-VM用のDelphiを作ってた?
↓
( ゚д゚)・・・・。
↓
( ;゚д゚)・・・・。
↓
(#゚Д゚)そりゃJBuilderだゴルァ
0475デフォルトの名無しさんNGNG
これとは違うの?
http://www.javadelphi.com/
0476デフォルトの名無しさんNGNG
>>472
( ゚д゚)JAVA-VM用のDelphiを作ってた?
↓
( ゚д゚)・・・・。
↓
( ;゚д゚)・・・・。
↓
(#゚Д゚)そりゃC#だゴルァ

0477デフォルトの名無しさんNGNG
Delphi2Jじゃ Delphi2の日本語版になっちゃうよ。
それに、ObjectPascalをJavaに変換するだけみたい。

マルチプラットフォームなら死角が無いのにな。
ついでに1から設計し直して欲しい。
バージョンアップでVCLを変更しないで済むように
して欲しいな。

例えばドッキング。
TFormでやるんじゃなくて、コンポーネントでサポートして欲しかった。
0478Delフサギコ ◆zE1iiRdQ NGNG
    ∧,,∧    /
  _ ミ,,゚Д゚彡_<  DelphiToJavaって意味では? 
.=| |==U==U=| |= \
 | |@ミ  ミ .| |
 | | ∪''∪ | |
 | |      | |

> 例えばドッキング。
> TFormでやるんじゃなくて、コンポーネントでサポートして欲しかった。
Toolbar2000をBorland側の標準コンポとして登録して欲しかった。
そしたら、Indyみたいに日本語HELPがつくし。
フリーソフト系開発者魂をよりがっちりつかむ事ができるのに。
0479Delフサギコ ◆zE1iiRdQ NGNG
  ageでいくか!
  ∧,,∧    /
  ミ ゚Д゚ミっ < ま。いまさら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デフォルトの名無しさんNGNG
パッケージの管理をもう少ししやすくしてくれ・・・。
0481デフォルトの名無しさんNGNG
パッケージファイルでも{$IFDEF}等をサポートし、
一つのパッケージファイルで複数のDelphiのバージョンに対応できる
ようにしてほしい。
0482デフォルトの名無しさんNGNG
>>479
最初に言った奴が作るってことで。じゃ、フサギコよろしく。
0483Delフサギコ ◆zE1iiRdQ NGNG
  ,,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < どうせ息詰まるからヤダ
  UU"""" U U    \_______________

感覚的なんだけど、多分
細かい事やろうとするとVCLバグに衝突して
俺には解決不能レベルの問題になってしまってストレスが増大すると思われ
なのです。

フリーソフトでVCLのドッキングツールバーで実装しているのある?

付箋紙2000はドッキング&フローティングしないっす。
ゾヌのカキコ用Windowのツルバーもドキ&フローしないし
なんかバグってる。

その悩む時間でToolbar2000の使い方を知った方が幸せなの。
0484デフォルトの名無しさんNGNG
プロジェクトグループを使った時に 同じユニットが含まれていて
プロジェクトによって{$IFxx} で コンパイルオプションを変えていた場合
「全てのプロジェクトを再構成」すると、 どうもその場合別けが巧く機能しない場合がある

個別に再構成したら大丈夫だから
0485デフォルトの名無しさんNGNG
あそ。
0486デフォルトの名無しさんNGNG
コンポのイベントを IDEがメッソドまで書いてくれるけど
あれを自作コンポ側でカスタマイズ出来る機能が欲しいな
たとえば

procedure TForm1.Edit1Change(Sender: TObject);
begin
with Sender as TEdit1 do begin
|
end;
end;
みたいな感じにとか BCB両用にするのメンドクサイから駄目?
0487デフォルトの名無しさんNGNG
なにが
0488デフォルトの名無しさんNGNG
ぶっちゃけ begin 〜〜 end; より { 〜〜 } の方が見やすい。
0489デフォルトの名無しさんNGNG
>>486
イベントハンドラ用のプロパティエディタ作ればできる。
0490デフォルトの名無しさんNGNG
>>486
それ、面白い。
0491memoNGNG
IFormUpdater を再実装すればよし。
0492デフォルトの名無しさんNGNG
>>489 そうなの? 優先順位付けられるくらいかと思ってた
0493デフォルトの名無しさんNGNG
>>486
コード本体部分まで自動生成はキモイ。カッタルイ。いいことないぞ。
消すの面倒だし。
0494RubyistNGNG
世にあるDelphiのプログラムなんて、たまたま動いているだけ。
所詮クズ
0495RubyistNGNG
>>494
はげしく同位
0496RubyistNGNG
494 != 495
0497デフォルトの名無しさんNGNG
N88BASICは世界一ィィィィィィィィィィィィィィィィィィイイイイィィッ!
0498デフォルトの名無しさんNGNG
なんかこの板にジョジョっぽいヒトがいる。
0499デフォルトの名無しさんNGNG
言うとる場合かぁァァァァァァァァァァァァァァァァァッッッッッッッッ!   
0500デフォルトの名無しさんNGNG
Delphiはversion1ですでにいい意味において完成していたため。
その後、(今の経済の仕組みとしては)バージョンアップで金を取るのが
つらい感じ。
Turbo Pascal を書いていた人(名前どわすれした)が
マイクロソフトに逝ってしまって、J+とか虚しい言語の開発を
初めてしまったのも残念。
0501デフォルトの名無しさんNGNG
>>500
アンドリューヘジルスバーグ?
0502デフォルトの名無しさんNGNG
ガベージコレクションはあったほうがプログラマの気が楽になるかも。
(既出だったらごめん)
0503デフォルトの名無しさんNGNG
>>502 コンポーネントとインターフェースだけ使え
0504デフォルトの名無しさんNGNG
>>502
インラインアセンブラなどで現在ネイティブであることの幸せを噛み締めながら、Delphi.NETを待つ

( 実際のところ、自作メモリーマネージャーか何かでできないのでしょうか?GC )
0505デフォルトの名無しさんNGNG
>>504
 誰も参照していない事を検出するには、スタックからCPUのレジスタまで検索しなければいけない
 スタックは作られたスレッド全て検出しなければいけないしで、重い処理になるだろうね。
0506デフォルトの名無しさんNGNG
>>500
C#は空しく無いだろ。
0507500NGNG
>>506
C#がどんな言語か知らないけど、たしかに利用者は多くなりそうだね。
Delphi.NET って Borland がやると言っているの?

0508デフォルトの名無しさんNGNG
Delphi の「2Way-Tool」って誇張してるけど、あれは使えんな。みんなそう思うだろ。当然。
JBuilder のようにJavaソースコード修正したらフォームに反映されるようにしろよ!!!
知らないヤツは JBuilder みたいにできると勘違いするだろ!ボケ!!!

あともう一つ。
「コンポーネントをフォームにD&Dする」って表現やめろよ。
知らないヤツはD&D操作して貼り付けると勘違いするだろ!ボケ!!!

まだあった。
「エリアス」ってなんだ???
Alias = エイリアスだろ!ボケ!!!!
某日だけだぞ。そんな言い方するのは。世間一般の言い方と統一しろよな。

以上です。
0509デフォルトの名無しさんNGNG
>>508
出来るぞ?己の文法エラーで騒がんでくれるか?
0510デフォルトの名無しさんNGNG
そんなことより、Delphi.NETはどうした?
漏れは心配で眠れんよ!
0511デフォルトの名無しさんNGNG
>>508
「某日」ってなんだ?

>>510
まだまだ先。D7の次くらいじゃなかったっけ?
それまでゆっくり寝とけ。体に悪いぞ。
0512デフォルトの名無しさんNGNG
>>511
Borland Japanでは?<某日
0513デフォルトの名無しさんNGNG
>>512
おお、そういうことか! サンクスコ
0514釣られ人NGNG
>>508
VB使ってろよ!ボケ!!!
0515デフォルトの名無しさんNGNG
漏れはBorland C時代からC++を経てDelphi 3か4あたりまでずっとボーランドの
ファンで(今もそうだけど)正規ユーザでした。
Delphiのversion1が発表されたときは、柄にもなく非常に興奮して、これでVBは
確実に逝くなと思ったものでした。
しかし、そのころNiftyに顔を出していた Borland の大野さんという方が
「売れるには売れたけど、最初に思ったほどヴァカみたいには売れていない」と
言っているのを聞いて、なかなか難しいものなんだなと思っていますた。

最近、2chにくるようになって、Del厨とかいうことばを見るようになって、
やっとDelphiが今の若い人たちに広がりだしたんだなと思ってうれしくなりますた。

ちなみに大野さん(元もとはゲームプログラミングをしていたと聞きました)という方は
いまでもBorlandにいらっしゃるのでしょうか? (Borland Japanの社長だったりして)
0516デフォルトの名無しさんNGNG
>>515
まだいると思う。
以前はMLにも顔を出していたが、最近はみかけない。
■ このスレッドは過去ログ倉庫に格納されています