トップページ⇒tech
1001コメント326KB

ミ,,゚Д゚彡フサギコのフサフサDelphi談話室�E

■ このスレッドは過去ログ倉庫に格納されています
0001フサギコNGNG
            ∫    _________
   ∧,,∧     ∬   /DelphiやBorlandに関する
   ミ,,゚Д゚彡っ━~  <  雑談や質問しながら
_と~,,  ~,,,ノ_.  ∀   \ みなーで、くつろごうや
    ミ,,,,/~), │ ┷┳━   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ .じ'J ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄  ┻

関連スレ等は以下を参照してください。
0159デフォルトの名無しさんNGNG
>>156
(゚Д゚)ハァ?
VB.NET初心者以下ですか?
0160デフォルトの名無しさんNGNG
>>158
メモリイメージに他のオブジェクトを参照している変数が含まれてれば、
そのオブジェクトもシリアライズしなきゃいけない。そのためには、
メモリイメージ内の各変数の型を知る必要があり、結局 RTTI が必要に
なる。
0161Delフサギコ ◆VzDeLphI NGNG
 ミ,,゚Д゚ミつ ヨーシんなら、TObjectにRTTIを実装!!
        PrivateもPublicも全部RTTIにしてまえ....
         ってわけにはいかんですね。きっと。
0162デフォルトの名無しさんNGNG
exe ファイルがどんどん巨大に...
使ってないクラスの情報を省くような最適化技術を開発しないと、難しいでしょうな。

それが解決できても、オブジェクトが Application を参照してようもんなら悲惨なことに。

まあ、いろいろと難しいのれす。
0163 NGNG
のっ… ののた… ふっ まさかな…。
0164デフォルトの名無しさんNGNG
TWinControl と TScrollingWinControl の間に TLightForm とかっていうのを入れて( ゚д゚)ホスィ…
で、IDEのフォームエディタは、TLightForm から継承されていればビジュアルに設計できる。と。
0165デフォルトの名無しさんNGNG
>>157
それって、たしかクラスに変更があったりしたらダメだよね?
完成されたクラスで、絶対にいじらないって場合はいいような気がするけど。
0166デフォルトの名無しさんNGNG

      (\(\
      ヽ、\ `、
       ヽノノノヽ
       ( ´�D`) のーん
     (^/ つ_つ
      (   ノ
      し'し'
    彡
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0167Delフサギコ ◆VzDeLphI NGNG
               __________
    ,,,,,,,,,,,,,,,∧,,∧   />>164
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  大変賛成です
   UU"""" U  ⊃  \
                 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                __________
    ,,,,,,,,,,,,,,,∧,,∧   /ところーで、
  〜′,,,,,,,,,,ミ,,゚Д゚彡<  疑問がわきます太。
   UU"""" U  ⊃  \
                 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 えっと、TListの全ソースこぴぺして名前変えて
 usesしたりして
 一生件名、Exeを小さくしてみたりしたとき
 疑問がわきわきしますたが

 なんで、VCL標準のTListを使うため"ダケ"
 にClassesをusesしたときに、
 Delphi爆速コンパイラはTListのソース部分だけ
 取り出してExe化してしまうということをせずに
 Classes.dcuあたりを全部リンクして
 ばかでかいExeを作ってしまうのですか?

 どうせなら、各クラスごとにファイルを別にして
 用意してくれておけば、小さいExeを作ることも
 かなり容易だと思うのですが。
0168デフォルトの名無しさんNGNG
>>167
>Classes.dcuあたりを全部リンクして
> ばかでかいExeを作ってしまうのですか?

んなわけねーだろ。Delphiのリンカは頭いいから
不要な物はリンクされないよ。

initialization や finalization 節で使われている型は
自動的に含まれてしまうけど。


0169Delフサギコ ◆VzDeLphI NGNG
DLLつくって試せよ。。。
 ミ,,゚Д゚彡
0170デフォルトの名無しさんNGNG
DLL?
何の話をしてるんだ?
0171デフォルトの名無しさんNGNG
>>167
それやると爆速コンパイルできなくなる罠
だったりして。

>どうせなら、各クラスごとにファイルを別にして
uses
Windows, Messages, Forms, Dialogs, Menu, MenuItem, Button, Label, ListBox, ListItem ...

とかなるわけか。そりゃ小さくはなるかもな。
0172デフォルトの名無しさんNGNG
>>167
Classesを入れるとGetClass とかIdentToInt が使えるようになります。
これは内部で TStringListとかTThreadList を使います。

確かにClassesからTListを外しておけば良かったんだろうけど・・
TComponentとかの速度効率を上げる為に、TListのプライベートメンバに
アクセスしたかったのでしょう
0173デフォルトの名無しさんNGNG
>>171
 完全に依存しない2つのクラスを一つのユニットに入れておいても
 使わない方はリンクされないようですよ
0174デフォルトの名無しさんNGNG
Delphiは速いだけで頭の悪いコンパイラだから.exeがあんなでかくなるんだよ。(嘲笑激藁
0175デフォルトの名無しさんNGNG
>>174
正解。
実行速度がC#に負けるぐらい最適化がダメダメだし。
0176デフォルトの名無しさんNGNG
>>175
リンカの話とコンパイラの話の区別がつかないほどC#厨は頭悪いのか。
まあ所詮インタプリタだしな(w
0177デフォルトの名無しさんNGNG
>>172
>Classesを入れるとGetClass とかIdentToInt が使えるようになります。
使えるというだけで、使わなくてもExeがでかくなるということはないですよ。
Classesをusesしてでかくなる理由は、initialization,finalizationで
使われているクラスが含まれるから。さらにClasses.pasがusesしている
ユニットに initialization,finalization があるとその分も増える、
という具合です。
全く使われてない型はリンクされないから試してみなよ。
0178デフォルトの名無しさんNGNG
>>176 DelphiのDCC32はリンカとコンパイラの合体したもの。
 コンパイルフェーズとリンクフェーズも混在させてるんじゃないかな。 
 これも爆速の理由だろうね
0179デフォルトの名無しさんNGNG
>>178
速いだけだって。(嘲笑禿藁
0180デフォルトの名無しさんNGNG
速いだけで十分だよ。 
最適化が必要ならそこにパフォーマンスカウンタ入れて必要なだけ人間が最適化すればいい。
最適化が必要な個所なんて、せいぜい全体の1%もないさ。

それより最適化が必要な時に最適化が出来るようになれるかどうか、そっちが大事じゃないの?
コンパイラの最適化がガンバってくれても、それで不足するときどうすりゃいいか判らないよう
な人間ばかりじゃどうしょうもない
0181デフォルトの名無しさんNGNG
嘲笑禿藁  はドトネトスレに返れ!
0182デフォルトの名無しさんNGNG
>>165
追加は自由にできる。
要らなくなったプロパティは、DefinePropertiesで単に読み捨てればいい。

同じ名前のまま型を変えることはできませんけど。
0183デフォルトの名無しさんNGNG
フサギコさん〜…あなた今ただでさえ.NETの尖兵みたいに言われてるのだから
調べもせず嘘情報流さないで下さいよ〜。

しかし、Classesに限定してスマートリンクが働かないのか?と
疑いたくなるような振る舞いではありますな。

ソースを見てみたら、initialization/finalizationから連鎖的に、
TStringList、TComponent、TThreadList、TList、TStreamその他もろもろ、使われまくってますな。
これじゃ、スマートリンクも殆ど意味がなくて当然か。
で、ようやくその辺で使われていないクラスを発見。
TBitsやTDataModuleを軽く使うだけで.exeサイズ増えますから試してみてくださいな。

…そういえば、型情報を最後まで完全に持っている高度な高度なマネージドコードは
スマートリンクなんて低次元な事はされないんですね、さすがインタプリタ。とチョット反撃してみる。
(使わない関数を入れてみて実験済)
0184デフォルトの名無しさんNGNG
>>183
>さすがインタプリタ。

勉強し直せ。(プ
0185デフォルトの名無しさんNGNG
>>183
 マネージコードは Delphiでいう全てをPublishedにしたようなもので
 メソッド名を使って呼び出したり出来るから、リンク時に使われているかどうか
 を判別する方法がないから しょうがないんだよ
0186183NGNG
いやその…勿論全て承知で書いたのですが、まさか1分で食いついて来るとは思いもしませんでした。
.NETの人、まさか一日中Delphiスレを監視しているなんて事は無いでしょうね。クワバラクワバラ
0187デフォルトの名無しさんNGNG
>>186
 でもさ、ちょっとストレス溜まった時 .NET 構うと すぐレス貰えるからさ
 なんか、迷惑でいて、ありがたい面も少しあるかも
0188Delフサギコ ◆VzDeLphI NGNG
>フサギコさん〜…あなた今ただでさえ.NETの尖兵みたいに言われてるのだから
>調べもせず嘘情報流さないで下さいよ〜。
  ∧,,∧
 ミ,,゚Д゚ミつ  知らんがな、でも某も.NET化するってんだから
            全否定する必要もないと思われ

それにしても、今回のは大変勉強になりました。
サンクスコ。
initialization/finalizationが問題なのねん。
Init/Finaを無効にするようなオプソンがusesが欲しいかも。
0189デフォルトの名無しさんNGNG
>>188
 別にソースあるんだから抜き出して使えばいいんじゃないの?
 無理に継承して使わなくても必要な部分だけ使えばサイズだって逆に小さくなるでしょ
0190デフォルトの名無しさんNGNG
>>188
それよりも bpl を PC にプレインストールするとか雑誌に付けるとかして欲しい。
0191デフォルトの名無しさんNGNG
>>190
Delphiは最近毎年のようにバージョンあがるし
バージョン毎に用意して貰うのも難しいように思うな
0192デフォルトの名無しさんNGNG
>>191
でもたいしたサイズじゃ無いでしょ?

実際には免責事項の解釈がクリアにならないので単独配布しないらしい。
0193デフォルトの名無しさんNGNG
> センチュリ テクノ株式会社 (C&T Century Techno Inc.)
>
> 〒103-0001 東京都中央区日本橋小伝馬町2番8号
> 新小伝馬町ビル7F
>技術部 横山 一之
>Tel 03-3664-0800 Fax 03-3664-0808
>E-mail [email protected]
>URL http://www.century-techno.co.jp

誰かコイツにMLのやめ方を教えてやれ!!
0194デフォルトの名無しさんNGNG
>>193
(・∀・)タイーホ!
0195Delフサギコ ◆VzDeLphI NGNG
             ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  まあ。オチケツ。
   ミ つ日   \_茶でも飲むよろし
 .@ミ,,,,,, ,,ミ
0196 NGNG
>>193
その人が何したの?
0197デフォルトの名無しさんNGNG
>>196
MLでコマンド用のアドレスと投稿用のアドレスを混同している人です
0198デフォルトの名無しさんNGNG
>>196
[Delphi:70860]
unsubscribe

[Delphi:70863]
bye
exit

[Delphi:70865]
#bye
#exit
0199198NGNG
負けた・・・
0200196NGNG
なるほど(藁
サンクス。
MLって、そーゆーことになりそうで入ったことないなぁ…。
迷惑かけそうで。
0201デフォルトの名無しさんNGNG
Reg3:=TRegistry.Create;
with Reg3 do
begin
try
RootKey := HKEY_CURRENT_USER;
{キーを開く}
if OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\Internet Settings') then
begin
{データ読み込み}
Edit1.Text := IntToStr(ReadInteger('MaxConnectionsPer1_0Server'));
Edit2.Text := IntToStr(ReadInteger('MaxConnectionsPerServer'));
end;
finally
{Registryオブジェクトを解放}
Free;
end;
end;

↑こんな感じで、レジストリからデータを取得しているんですが、
例えばMaxConnectionsPer1_0Serverキーが存在しない場合、
例外が発生します。どう対処すればいいでしょうか?
0202デフォルトの名無しさんNGNG
exceptして存在しない場合の処理を書け
0203デフォルトの名無しさんNGNG
>>202
exceptを書くと、finallyが書けなくなるんですけど・・・
0204デフォルトの名無しさんNGNG
ヘルプ嫁
0205適当君NGNG
挟めば出来るんじゃなかったっけ?
0206デフォルトの名無しさんNGNG
>>205
挟むとは?
0207デフォルトの名無しさんNGNG
ヘルプ嫁
0208デフォルトの名無しさんNGNG
>>207
ヘルプ読んだ。EXEの方のアプリに問題はなくなった。
だが、デバッグのエラーが気持ち悪い。なんとかならない?
0209デフォルトの名無しさんNGNG
赤丸右クリック
0210デフォルトの名無しさんNGNG
>>206
ちんこ挟むと女の子みたい
0211デフォルトの名無しさんNGNG
デバッガ例外ウザいYO
お願いします、どなたか助けてください
0212デフォルトの名無しさんNGNG
>>209
赤丸じゃわかんないかも。

例外が発生する前後にブレークポイントを設定して右クリック。
拡張をクリックして ブレーク を外し その下のを適当に設定。
0213デフォルトの名無しさんNGNG
(´-`)。o ○ (ウザがられる自己中書き込みの見本みたいだなぁ…)
0214デフォルトの名無しさんNGNG
try
try
except
finaly

って事じゃないかと思う。 使ったこと無いけど
0215デフォルトの名無しさんNGNG
>>211
これを参考にしろ
http://members.aol.com/tennenmario/a-beni.jpg
0216デフォルトの名無しさんNGNG
>>214
コーディングの時に例外がウザイという話にもう移ってると思われ。
0217デフォルトの名無しさんNGNG
>>211
1. 「ツール」メニューから「デバッガ オプション」を選ぶ
2. 「言語固有の例外」タブを開く
本日の授業はここまで。
0218スクープ!!NGNG
Borland Delphi7を最後にWindowsプラットフォーム撤退!!
http://www.konto.hr/borland/press/070802_delphi7.html
0219デフォルトの名無しさんNGNG
>>218
あのー読めるんですけど。
0220デフォルトの名無しさんNGNG
便乗
統合環境を使わない で例外で止まらなくなったけど、どんな不利益があるんでしょうか?
0221デフォルトの名無しさんNGNG
>>220
デバッガが使えないんとちゃうかな?
0222Delフサギコ ◆VzDeLphI NGNG
    _____________
  /
  | なんか客がみんなやたら
  | Webアプリ作れっていってくるなあ
  \_____________
          
     ΛΛ.   ___  
    ミ   ミ  .||::::::::||レッ
    ミ   つ___||_____||  ツ
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴

      もしかしてクライアントソフト代金
      けちられていないか? 
     .ΛΛ.   ___  
    ミ;゚Д゚ミ  .||::::::::||レッ
    ミ   つ___||_____||  ツ
   | ̄ ̄|__ミ―――――
   `ー┬‐''
     ┴
0223デフォルトの名無しさんNGNG
>>222
鋭い
0224デフォルトの名無しさんNGNG
いくら?
0225デフォルトの名無しさんNGNG
たらちゃんです
0226デフォルトの名無しさんNGNG
    ._______________
    |インストールの手間とかもあるでち|
     V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ∧∧
    (,,゚ -゚) その分開発規模をガッツリ大きくしてるでち
     (uu,)〜
0227デフォルトの名無しさんNGNG
お願いだから、スレッドをブチブチ切らないでくれますか?
見づらいことこの上ない。
0228退会しますNGNG
#bye
#end
0229デフォルトの名無しさんNGNG
>>228
思いっきり会社名や会社のURL書いたシグネチャ晒してた奴いたな。
0230デフォルトの名無しさんNGNG
他のアプリのウィンドウを、自アプリのウィンドウに ManualDock する方法ってありませんか?
0231デフォルトの名無しさんNGNG
>>230
ありません。
0232デフォルトの名無しさんNGNG
GExpertsがバージョンアップしてるよー。
ttp://www.gexperts.org/
0233デフォルトの名無しさんNGNG
>>232
thanx
0234デフォルトの名無しさんNGNG
gexpertサパーリ使い方がわからん。
0235デフォルトの名無しさんNGNG
フサさんに聞きたいのですが、昨年のデル6で初めてコンパイルを覚えた
サンデープロもどきですが、さいきんはsqueakとかいうのに興味を持っています
まったく商売としては成り立たないsqueakとかフサさんはどう思います?
自分の仕事はプログラムなんかとか縁の無いもので、それでも仕事は順調です
子供と一緒に学べるような言語を一つ身につけたいと思ったりします。
フサさんはアランケイとストールマンはどっちが好きですか?
0236デフォルトの名無しさんNGNG


DelphiはM$に売ってしまい
「 Visual P++ 」 として生まれ変わった方がいい



と思いませんか?
0237デフォルトの名無しさんNGNG
すでに生まれ変わってますがなにか?

…とは口が裂けても言っちゃダメだよ
0238Delフサギコ ◆VzDeLphI NGNG
          _______________
   ∧.,,∧   /
  ミ.,,゚Д゚彡< フサさんはsqueakとか荒井ケイさんとか
  ミ つ目(ミ . \ストールマンのことはご存知あません
〜ミ,,O,,,,,,つ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        楽しく生活できることがなによりです。
0239235NGNG
書き込みありがとうございます。
そのスタンスは好感が持ててやはり好きです。
たしかに楽しく生活できることがなによりですよね、
最近はLinux使っているのでデルを立ち上げる事もありませんが、
フサさんのスレはなんとはなしに読んだりします。
初めてPCでコンパイルするって事を経験出来たのもフサさんのスレと
デルのおかげでした、今後も活躍してください。

とか書いてみるテストとか言ってみたりする(w
0240デフォルトの名無しさんNGNG
Delふさは、WebアプリをWebBrokerで作ってるの?
0241Delフサギコ ◆VzDeLphI NGNG

    l||l∧,,∧          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     .ミ,,   彡 _____<  仕事のことは思い出させないで
     ∪ _|| ̄ ̄ ̄ ̄ ̄| \_ください。
     (ミ,,,|\|| レ ッ ツ .|
       '\||.=========| 明日も9時出勤なんでつ・・・
           ̄ ̄ ̄ ̄ ̄ 
0242Delフサギコ ◆VzDeLphI NGNG
    l||l∧,,∧       /Delphiも.NETも仕事では
     .ミ,,   彡    <  つかってません。
     ∪ _|| ̄ ̄ ̄ | \ 
     (ミ,,,|\||Letsノ-ト|  カイハツ ラクニスルノニ ツカイタイノニ...
       '\||.======.|
           ̄ ̄ ̄ オオキサ カエマスタ
0243デフォルトの名無しさんNGNG
あらら、休日出勤ですか…。お疲れ様です。
仕事にDelphi使えないんだぁ。うちはVBAですが、こっそりDelphi使ってます。
てか、VCLソースを見てこっそり移植してます。
0244デフォルトの名無しさんNGNG
>>242 やっぱりVBが一番手垢のついた道具なんですね
0245デフォルトの名無しさんNGNG
Delphiは実際の現場では使われてないの?
やっぱVisual Basicなの?
0246デフォルトの名無しさんNGNG
>>245 使ってる所では使っていると当たり前の話ですよ。

それから日本のソフトウエア産業というのは9割がサービス業です
つまり、ソフトウエア開発ではなく、開発する人を売っています。
そういう現場ではDelphiは使い難い面があります
0247デフォルトの名無しさんNGNG
>>245
こういう質問多いけど、何を気にしているのだろう?
Delphiが好きで開発言語が指定されていなければ使えばいいと思うのだが。
逆に無理して使う必要もない。
シェアが云々とか思うのならVB使えばいいだろうし。

http://www.borland.co.jp/delphi/cases/
0248デフォルトの名無しさんNGNG
DelphiもVBも同じような調子でプログラミングが出来ますが

VBとDelphiの何が違うかというと
Delphiだと透明(Pro以上)性があり、全てのソースに触れられ
この道具を使う事で 使う人の技術レベルもどんどん上がってゆきます。

 すると、人によって効率が違う事になります。 これは人を集めてガーっと開発
するドカタスタイルの現場では使い難い事になります。

ですからDelphiがよく使われるのは、社内プロのような 長年同じ場所
で安定雇用される場所が多いのでしょう。

 一方、外見が派手で頻繁にバージョンアップしなければならない市販ソフト
開発現場ではWindowsの最新機能を使わなければならず、その情報が仕入
れ易いC++が多く使われます。
0249デフォルトの名無しさんNGNG
>>247
実際の現場のシェアを気にしてるんだろ。
つーかシェアが云々でVBになるっていうことは
現場のシェアはVBの優勢ってことになるね。
0250デフォルトの名無しさんNGNG
>>248
ソフトウェアの世界の透明性・透過性って
普通の意味とは逆なんだけどね。
0251デフォルトの名無しさんNGNG
>>248
相変わらずコーダーの発想から抜けてないね。( ´,_ゝ`)プッ
0252Delフサギコ ◆VzDeLphI NGNG
 ミ,,゚Д゚ミσ)´,_ゝ`)
    プニ
0253デフォルトの名無しさんNGNG
( *´,_ゝ`*)ポッ
0254デフォルトの名無しさんNGNG
ttp://store.nttx.co.jp/SoftReserve/reserveList.asp?SOFT_FLG=ON&FMID=XStore
ttp://www.pasoq.co.jp/shopping/soft/kind/11311100.html
発売日は9月30日でファイナルアンサー?
今週中かと思ったのに(´・ω・`)ショボーン
0255デフォルトの名無しさんNGNG
ところで、
ttp://www.pasoq.co.jp/shopping/soft/data/BOL0978.html
必要メモリ量が意味不明
0256デフォルトの名無しさんNGNG
>>254
26日出荷だろ。VerUP版は。
0257デフォルトの名無しさんNGNG
www.kt.rim.or.jp/~s-matsu/sub/prog/unskill018.html
これをVCLにしたら需要あるかな?
0258デフォルトの名無しさんNGNG
にゃー
■ このスレッドは過去ログ倉庫に格納されています