ミ,,゚Д゚彡フサギコのフサフサDelphi談話室B
,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′,,,,,,,,,,ミ,,゚Д゚彡< DelphiやBorlandについて熱く語ろうや UU"""" U U \_________
5 :
デフォルトの名無しさん :02/05/16 22:19
チャンコロは小一時間ほど逝ってよしと思われ
Delフサギコじゃなくてただのフサギコなのか。
,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,ミ,,゚Д゚彡 UU"""" U U 本当は、これで4のはずなんだけどなぁ。 でもAがあったんだからBができてもよかろうに・・・ まぁ、マターリとしていこうや。
>>8 マ板にあるからだろうけど
すっかりネタスレになっちゃってるし
本スレというのは、もはやふさわしくないな〜
10 :
デフォルトの名無しさん :02/05/16 22:54
僕のDelphiはタスクバーにアイコンが表示されません。(タイトルのみ表示) みんなはどうですか?
>>11 説明書読めばわかるがプロジェクトで設定。
あ、Delで作ったソフトじゃなくてDel本体だよ。
みんなはどうですか?
16 :
デフォルトの名無しさん :02/05/16 23:44
教室のみんなはどうですか?
だいじょ〜ぶで〜す
18 :
デフォルトの名無しさん :02/05/17 00:12
Delphiは実際の開発現場では使われているんですか? またDelphiで作られた代表的なソフトを教えてください。
>>18 個人プレーで仕事してる人や
パッケージソフトを作ってるところでは
結構使われてるみたい
チームプレー重視のところだと「建前」でM$にせざるを得ないけど
そうじゃなければ効率重視だもんね
>>13 Delphi使いって変態さんの集まりですか?
>>22 プログラミングなんていう面倒な行為を好んでやる俺たちが
多少なりとも変態であることは認めるにやぶさかでない
23はキティガイ
ども、Delphi/Kylixなスレを立てたいのでご相談に参りました。 CLXを使ったクロスプラットフォームに関するスレを立てたいのです。 具体的には、、、 ネットで検索すればVCLを使ったフリーで素晴らしいコンポーネントが山ほど見つかりますが、 しかしKylixで使えるようなコンポーネントは中々無く、またあったとしてもクロスプラットフォームで 無いものばかりです。 もし、優れたクロスプラットフォームなコンポーネント(あるいはクラス・関数)が数多くあれば、 マジでWindows←→Linuxなことが出来るのでは? そんなわけでがんばって作ってみますです… みたいなスレを立てたいのですが…
25です。 厨国語の使用&長文レススマソです。 実際問題、僕自身コンポーネントを作ったことが無い厨なので、 これから3日〜1週間ほどの間、こちらのスレのほうで何かしら お邪魔させてもらってもよろしいでしょうか? スレ違いでしたらモナスレか本家(?)相談室の方で やっていこうと思うのですが…
28 :
デフォルトの名無しさん :02/05/17 19:32
新スレ記念age
ミ ゚Д゚彡
>>25 **をCLXで作ってくれなら
手伝えるかも。
LinuxのAPIとか知らんけど…
たぶん、Kylixで使えないコンポの中には
Kylixはもっていないので動作確認してないだけ。
とかいうのも、かなりあるかも。
....そでもないかな。
GUIが絡まなければ、クロスは容易なはずだけどね。
30 :
デフォルトの名無しさん :02/05/17 21:37
,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,ミ,,゚Д゚彡 <Delフサギコさんの登場ですか。 UU"""" U U
>>29 >LinuxのAPIとか知らんけど…
どっちのAPIにも依存しないのがCLXだと思われ。
だからCLX+標準手続き以外は使えないっす。
QtのAPIを理解するのが先だったか… ,,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′,,,,,,,,,,ミ,,゚Д゚彡 < よー、わかりまへん UU"""" U U[大阪弁]_______________ Linux(or Qt)とWinと両方のコードを用意するのも クロスの宿命かと.....
>>32 .NETとの兼ね合いもあるし某国としても解決は茨の道ですな。
34 :
デフォルトの名無しさん :02/05/17 23:44
Linux.Free;
かおりん祭り来ないね
36 :
デフォルトの名無しさん :02/05/18 02:34
Personal使っているのだけれど、 デバッグの時に、ActiveXのバリアント型は評価できないの? あと、IDLやらタイプライブラリを参照してどんなインターフェースやメソッドが あるのか見ることはできないのでしょうか。VBのオブジェクトブラウザや、 入力支援機能みたいに。(入力支援はDelにもついてますけど、COMのクラスや インターフェースについて) それと、素朴な疑問なんだけど、ActiveXをインポートしてカプセル化して使う ようですが、これってつまりはDispインターフェースを使ってないバインド方式 をつかってるってことなのでしょうか。VBで使うCOMは確かデュアルで作れって MSDNで書いて書いてあったので、VBはDispインターフェースを使っているのだと 思っていたのだけど。 (VBはコンパイルすると早いバインドをするのでしょうか?) 以上、よろしくお願いします m(_ _)m
>>36 ActiveX取り込み時にTLBが出来ているはずです。 それを見て下さい。
デバック時も、Delのオブジェクトとしてデバック可能です
OLEVariantでアクセスした場合の話は別の話です
例えば
var nm,obj:OLEvariant;
begin
obj:=WebBrowser1.OleObject;
nm:='
http://pc.2ch.net/test/read.cgi/tech/1021554929/ ';
として obj.Navigate2(nm); とすれば当然VBと同じような方式の呼び出し方になります
普通は WebBrowser1.Navigate2(nm); とします
\( ^▽^)/新スレおめでとうございまーす♪
フサギコ(Delじゃない)に期待age
どもです、25です。 ヘルプ&Del4プロバイのコンポーネント作成に関するドキュメントを 軽く読んだだけけですが、コンポーネント作るのかなり大変ですね… エディタでゴリゴリ作らなきゃならない、Object Pascalの文法を ほぼ完璧にわかってないといけない、ある程度クラスライブラリについて 理解して無いといけないなどなど… Delphian Worldで公開してる方々僕からしてみれば神だ… スレ立ての承認ありがとうございます。 せめてTButtonから継承し、単純なプロパティやメソッドなどを ひとつずつ持っているだけ…みたいな物ぐらい作れるようになったら 立てようかと思います。
>>40 (*
エディタでゴリゴリ作らなきゃならない、Object Pascalの文法を
ほぼ完璧にわかってないといけない、ある程度クラスライブラリについて
理解して無いといけないなどなど…
*)
いや、普通・・・。
まぁ、がんばろう。
29−32の流れを見て思ったんですが、 CLXの中で普通にWinAPI使っているような気が… (Delphi6-Source-ClxのQDialogs.pasとか…。) コンパイラ指令使って、MSWINDOWS用とLINUX用の処理書いてやれば大丈夫かと… ただ、ひとつの.pasファイルにWin用とLinux用の処理混在させるとソースが汚くなるし、 かといって2つに分けると、作るときに二度手間な箇所が増えてキツイ…
簡単な処理はCLXでやったほうがいいと思いますね。 速度が欲しいならプラットフォーム毎に書けばいいし。
コンポ作成方法は ∧,,∧ このあたりを、さらっと読めばサラサーティー ミσ゚Д゚ミσ ●基礎からわかるDelphi5 三原 幸一 秀和システム \2,400 ISBN4-87966-937-7 これの6がでてる ●実践Delphiコンポーネントプログラミング 秀和システム出版編集部 秀和システム \2,800 ISBN4-87966-798-6 ●Delphi 4 プログラミングバイブル Marco Cantu 著篠原 慶 監訳 インプレス \5,680 ISBN4-8443-1273-1 これも6がでてる。
おお!Delフサさんありがとうございます。
現在Del4プログラミングバイブルは図書館からのレンタルで手元にあり、
6版もすでに書店で注文済み(しかし到着予定2週間後…)
実践〜の方はコンポマターク作ったこと無い僕でも(とりあえずな)コンポ作れそうなヨカーン…
本買い過ぎて金無いんで、また近所の図書館に全部注文かけときます。
それまで頑張ってDel4プロバイの4部を読まねば…
ちなみにこんなの採取しますた
ttp://www.migaro.co.jp/rad/support/toptext.htm このメルマガの第三回からコンポの作り方の入門程度を扱った連載してるデス。
>>41 そうしなくても普通には使えると思われてる言語なのかね、Delphiは。
いいのかわるいのか、微妙だ・・・。
47 :
デフォルトの名無しさん :02/05/19 09:43
Delphiでのおすすめ書籍は?
>>46 まぁ、フリーのVBだと考えて入ってくると痛い目を見るぞと。
しかし、痛い目を見ないと人は学習しないという罠
>>49 しかも勉強しないと本当の良さはわからない罠。
>>44 >●実践Delphiコンポーネントプログラミング
これって今でも手に入る?
コンポの作り方だけじゃなくて、オブジェクト指向の勉強にもなるって言うから
けっこう気になってて前から探してるんだけど、見つからないよ・・・
漏れはコンポの作り方は、基本だけどDelphi2.0付属の「コンポーネント開発者ガイド」を
何度も読んだ。愛想はないけど読みながらいろいろやってると、だんだんわかってくるよ。
これも最近のDelphiにはついてこないのだろうか・・・・?
,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,ミ,,゚Д゚彡 <Borland Delphi6オフィシャルコースウェア好きだなぁ。 UU"""" U U
56 :
デフォルトの名無しさん :02/05/19 14:07
>>37 レスありがとうございます。 返事が遅くなってスマソ。
OLEVariantを使ってるとDispインターフェースで使うことになるわけですかぁ。
VC++のスマートポインタみないなもんなんだろうか。
ところで、新しい疑問なのだけれど、
Dispインタフェースを使ってDispインターフェースを使えますか?
つまり、OLEVariantは内部的にDispインターフェースの利用をインプリメント
してあって、ドット演算子(?)をオーバーライドしてあるわけですが、
このOLEVariantからGetIDsOfNamesなどを呼び出せるのでしょうか?
ATLだと、確かIDispatchは純粋仮想な親クラスなので自分で実装しない
限りは不可能なように思えますが、OLEVariantをDelのas演算子などで
キャストしてDispインターフェースを呼ぶこと等は可能なのでしょうか。
57 :
デフォルトの名無しさん :02/05/19 14:16
>>56 >Dispインタフェースを使ってDispインターフェースを使えますか?
この質問、よく考えたらおかしいです。
うまいことGetIDsOfNamesなんかを呼び出す方法を教えてください。
58 :
デフォルトの名無しさん :02/05/19 14:19
Borland が一瞬 Imprise になった夢を見たんですが、 あれは何なんですか?
59 :
デフォルトの名無しさん :02/05/19 14:42
気分を変えてみたのです。
ヘジルスバーグがMSにいる夢を見たのですが・・・・・
>>58 Inprise
はい、URLを打ち間違えたことのある人は挙手すること。
>>60 おかげでC#Builderとも言える製品が私たちの元へ。
64 :
デフォルトの名無しさん :02/05/19 18:38
>>56 OleVariant型変数からIDispatch型変数へ代入できませんでしたっけ?
あるいは直接キャストでもいけた気が。最悪TVarDataへキャストして中身を取るとか。
>>61 BorlandをBolandと間違えたことあるっす
冫─' ~  ̄´^-、
/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | ________________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / /
>>65 そんなあなたにVisualBasic.NET
/|ヽ ヽ──' / <
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
漏れに言わせればBorlandは、Oralce程ボッタクッてはいないと思う。
むしろ商売下手…
ま、オラクルはCEOがあれだからね、
TActionManager と TActionMainMenuBar を使ってメニューを作っていますが 分割線を作れません。 TMainMenu だと、Caption を - にするとできたのですが。 教えてください。
ウニ死す
>>71 オブジェクトツリー上で新規作成してそいつのキャプションをハイフンにするとか
74 :
デフォルトの名無しさん :02/05/20 00:06
一応、Captionはハイフンになっているのですが、 表示が分割線にならずハイフンで表示されてしまうんですよ。 ActionMenuBar や、ActionToolBar使うなって事ですかね。
>>74 プロパティくらい全部見てから物言ってくれ。
76 :
デフォルトの名無しさん :02/05/20 00:19
スローなブギにしてくれ。
Buttonの Styleを
ttp://freeclx.sourceforge.net/ このfreeCLXって結局何なんでしょう?
やっぱりやっぱりクロスプラットフォームな事よりも
Linux環境をPascalで扱うためのプロジェクトなのかなぁ…
#しかしスレ立てるのホントにどうしよ?
#ム板の状況から判断する限り、これ以上スレ立てるのは本当に危険かも…
#この際自由にDelの話題を扱えるサイトを作った方がいいかなぁ…
>>79 このスレには方向性が存在しないので
新スレたてるよりはこのスレを乗っ取るのがよいかと。
Delphiの勉強ができるいいサイトとかないですか? できれば、DirectXをDelphiで使うみたいなやつですが?
>>80 マジですか
何はともあれ即興でサイト作ってしまいました
(痛い文章になってる事には触れないでホスィ…。今日はもう眠いっす)
ただ、無駄にトップページにアクセス解析張ってしまったので、気になる方は
串でも刺してくださいデス…
ttp://members.tripod.co.jp/utuboku/ 今考えているのは、
@CLXでテキストエディタの作成(機能も見た目もまだ全然駄目駄目。)
Aもし@の機能がそこそこ納得できるものにできたら、それを元に多機能なMemoコンポーネントの作成。
もちろんLinuxでも動くようにしたいっす…
86 :
Delフサギコ ◆zE1iiRdQ :02/05/21 15:59
質問ですー ∧,,∧ /Webアプリの _ ミ,,゚Д゚彡_< ASPオブジェクトSessionとApplication .=| |==U==U=| |= \の扱いはどうですか? | |@ミ ミ .| | | | ∪''∪ | | Session.OnStartとかある? | | | | Sessionに自作クラスを入れたりとかは? どとNETに移行考え中なんだけど VCL実装を知っておきたいのです。
HSPからの移行なんですが、あれのコマンドリファレンスみたいに 詳しく分かりやすく紹介されたページってないですか? 例えば、 「画面に文字出力」→「ShowMessage」みたいな
>>89 漏前は1件目のタイトルに惹かれなかったとでも言うのか!
>>91 (*^ー゚)b だろ?
>>90 大雑把だけど、とりあえずこんなのもあるよということで
・ヘルプ目次→・VCLリファレンス→・ルーチン一覧(カテゴリ別)
目的のページが見つかるまでこれでがまんしる
>>92 ありがとうございます。
でもやっぱこのHELP意味不明ですね・・
理解できるよう勉強します!
そういえばDelフサギコさんは、エディタ何使ってる? いや、何となく気になっただけなんですけど。
Delphiなら普通IDEのエディタな気が
/ ‖ /Delphiじゃコードはかけても ∧,,∧ < AAはかけんぞゴルァ 二二二二ミ,,゚Д゚彡 \ ミつ/\ヘ ということで、  ̄ _∬__ ̄ / //  ̄\ EmEditorっす・これでAAもバチシ &____ノ \// \ \ 自分でPlugIn作って  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| Em文字列とDelphi文字列を  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 置き換えたりするライブラリ整備で急がしかりけり でもDelphiでPlugIn作るとDLLがでかくなって エヂタの起動が遅くなる罠に陥りかけっす。 Emは行ごとに Modify情報をもつから、そのあたりのコード プログルマ泣かせです。 かなりコッテリしぼられたよ。
Delフサギコ登場記念age
99 :
デフォルトの名無しさん :02/05/24 20:52
質問です。 TTreeNodes や TTreeNode は TTreeViewなしで使えるのでしょうか。 TTreeView はアプリとしては利用したいのですが、表示したいTree構造を 必要に応じて Assign して入れ替えて使いたいと考えております。 Assign でやらないで、View に Tree のポインタを渡して再描画ってのが 理想なのですが、Delphi初心者なのでどんな方法が適切なのかわかりません。 具体的に実装部を以下のようにして見ましたが、これで問題ないでしょうか? サンプルを探してみても、TTreeViewに付いてくるのを使っているものしか見 つかりませんでした。 (TreeNds:TTreeNodes;Node:TTreeNode) TreeNds := TTreeNodes.Create(nil); Node := TreeNds.AddChild(nil,'root');
101 :
デフォルトの名無しさん :02/05/26 11:16
>>100 Node := TreeNds.AddChild(nil,'root');
でエラーがでて停止します。
TreeNds := TTreeNodes.Create(nil);
この式を実行後 TreeNds の中身を評価すると、'()'になってました。
ではオブジェクトが生成されていないような気がするのだけど。
ん〜。 なんでだろう。
>表示したいTree構造を必要に応じて Assign して入れ替えて使いたいと >考えております。 これはTTreeNode"だけ"でやるべきだろ 木構造を表すのはTTreeNodeよ?
103 :
デフォルトの名無しさん :02/05/26 11:45
>>102 んー。TTreeNodesはTTreeNodeのコレクションですか。
確かに使う目的がちがいそうですね。
今TTreeNodeをCreateしようとしているのですが、成功しません。
TreeNds := TTreeNode.Create(nil);
とやっているのだけれど。
TTreeNodeはCreateの引数にTTreeNodeがあって、
TTreeNodesはCreateの引数にTCustomTreeViewがあるんですね…
>>103 TTreeNodeはCreateの引数にTTreeNodeがあって
↓
TTreeNodeはCreateの引数にTTreeNodesがあって
>>103 TTreeViewのLoadFromStreamとSaveToStream使うとかは?
106 :
デフォルトの名無しさん :02/05/26 12:07
>>105 うーん、でもそれだとロードされていない間はデータにアクセスできないです。
やっぱりTTreeViewを使わないとTTreeNodeは使えないんだろうか。
Webで探しても全然例がみつからん。
非表示のTreeViewを作って TreeView1.Items.Assign(TreeView2.Items); ってやるしかないかも。
108 :
デフォルトの名無しさん :02/05/26 12:18
>>107 そうすると、このツリー構造のデータを扱うモジュールをフォームから
切り離せなくなるんだよなぁ。 おとなしくツリークラスを作るか…
その方がいいよ。 木構造はTComponent継承すれば勝手にやってくれるから、必要な項目持たせるだけだし
>>109 ありがとう、TComponentを調べて、ツリークラスを作ってみるよ。
TreeNodesはほとんどのメソッドがOwnerを必要としているから OwnerにTreeViewを指定しないわけにはいかないんだな。
>>111 Ownerにnil渡しても問題ない罠。
>>112 それやって使ってみた?ソース見たら問題ないとはとても思えないが。
Ownerにnil入れると・・・ NodeをAddするとあぼーん Count見てもあぼーん 何してもあぼーん
あぼーんくらい大したこと無い。
( ´,_ゝ`)プッ
CNU + Cygnus + Windows = Cygwin (・∀・)イイ!
CNU's?
GNU + Cygnus + Windows = Cygwin (・∀・)イイ!
121 :
デフォルトの名無しさん :02/05/26 23:01
age
122 :
デフォルトの名無しさん :02/05/27 00:18
GNU=グニュッ
124 :
デフォルトの名無しさん :02/05/27 00:22
GNU=グニュッ!メリメリッ ズポッ!リュッリュッ!ドピュッ!ドクドクドク…
つ * Y
なあ、なんでDelはコンパイル早いの? 漏れはコンパイラの仕組みはよくわからないが、 うるさい程の厳密な文法が早さの秘密なのか?
127 :
デフォルトの名無しさん :02/05/28 00:22
>>126 PCの中にちっちゃいオッサンが200人ほど入り込んで処理するからです。
VBは16人くらいです。
ヘッダファイルが無いからだよ。 SHARPポケコンPC-G850のBASICインタプリタならコンパイル時間ゼロ秒ですが何か?
しょんべんちびりました
インタプリタ言語がコンパイル時間0なのはごく正常です。 ただし本当に0なのかは分かりませんが。
>>130 一行書き込むごとにその行を中間言語へコンパイルしてるんでしょ
>>131 字句解析−構文解析−意味解析−実行
コンパイラで言う中間コードは存在するか微妙だね。
JITとインタプリタの差がかなり曖昧。
コンパイラでなかった頃のVBは 実行させると最初にフォームが表示されるまで 同じくらいの規模のDelphiの何倍も時間がかかりました。 C++はメシが喰える程の頃でしたが、VBでもコーヒが飲めました インタプリタであっても、しっかりしたモジュール化がサポートされていないとサイズが 大きくなるとサイズに比例以上の速度で遅くなるようです。
>>126 通常のC++のコンパイラ等と違い、Pascalは1パスでコンパイル可能だから。
後は、コンパイル速度を著しく落とすような極端な最適化をやっていないから。
とか(ごめん、かなり適当)。
Borlandのコンパイラの速度は昔から速いことで有名だね。
通常のC++のコンパイラは インラインアセンブラを使う場合 C++ => プリプロセッサ => コンパイラ=>アセンブラ => OBJ でこれをリンカーが処理します ヘッダが一つでも違うと、全てを再コンパイルからやりなおす必要があります Delphiはこれらの工程を一挙に行います また、pascal言語は先読する必要がありません まるでアセンブラのように、1行解釈しては翻訳してゆけば良いのです たとえば C言語だと、一つの関数でも 全部読まないと必要なスタックフレームのサイズが判り ません。 だから昔のコンパイラだと、先頭で JMP文を吐いておいて、スタックフレームを一番 最後に作って先頭にJMPするなんてコードを吐いてました。 pascalだと beginの前に必要なスタックのサイズが判ります
function isShiftJIS(s:string;var p:PChar):boolean; var siz:Integer; begin p:=PChar(s); siz:=Length(s); while Siz>0 do begin dec(Siz); case p^ of {ShiftJisの第一バイト} #$81..#$9F , #$E0..#$EF: begin inc(p); //次の文字が {ShiftJisの第2バイト}でなければ if p^ in [#$40..#$7E,#$80..#$FC ] then inc(p) else begin Result:=false;Exit;end; end; {EOF } #$1A: begin Result:=True; exit; end; #0: begin Result:=false; exit; end; #$09, {TAB} #$0d,#$0a,{改行} #$20..'~': inc(p); else begin Result:=false;Exit;end; end; end; end; function MojiTest(s:string):string; var p:PChar; var isMoji:Boolean; begin isMoji:= isShiftJIS(s,p); if isMoji then if p^ = #$1A then isMoji := (Integer(p)-Integer(PChar(s))) <5; if isMoji then Result:='たぶん文字' else Result:=IntToStr(Integer(p)-Integer(PChar(s))) +'文字目が$'+IntToHex(Ord(p^),2)+'だから変'; end; var w:String; begin w:=Memo1.Lines.Text; Memo2.Lines.Add( MojiTest(w)); w[random(Length(w)-1)+1]:=Char(random( 7)); Memo2.Lines.Add( MojiTest(w)); end;
ゴメンスレ間違った
∧,,∧ SJISのはとりあえず、サンクスコ ミ,,゚Д゚彡 ミつ[|lllll]) SJISに限らず、テキストとバイナリが区別つけられないかしら? 〜ミ ミ U U. それはさておき、とある、EmEditorPlugInのDLLを つくってまして、 usesからunitをはずして チューニングしexeサイズを減らしてたら そのPlugInがやたら不安定になってしまって --------------------------- EMEDITOR.EXE - アプリケーション エラー --------------------------- "0xff6400bf" の命令が "0xff6400bf" のメモリを参照しました。メモリが "read" になることはできませんでした。 プログラムを終了するには [OK] をクリックしてください プログラムをデバッグするには [キャンセル] をクリックしてください --------------------------- OK キャンセル --------------------------- --------------------------- アプリケーション エラー --------------------------- EAccessViolation がモジュール rtl60.bpl の FF63F0BF で発生しました。 アドレス FF6400BF でアドレス FF6400BF に対する読み込み違反がおきました。. --------------------------- OK --------------------------- こんなエラーが妙なタイミングで頻発するようになってしまいました。 rtl60絡みなので D6UP2のせいかとおもって D6アンインスコし、D6サイインストしたりしたのですが 症状、一緒ですた。 なんかぜんぜん直りません。 これって、何がどう悪くなってしまったのでしょうか。。。 ああ、もうさっぱり。
>>138 >SJISに限らず、テキストとバイナリが区別つけられないかしら?
前も書いたがEUCはWindowsではバイナリ扱い。
何をもってテキストファイルとするか決めないとまとまらない。
EUC SJIS JIS ASCII unicodeくらいか、最近使われてるのは。
>>138 > usesからunitをはずして
> チューニングしexeサイズを減らしてたら
これがいかんだろ。必要なunitまで削ったと思われ。
元に戻すべし。
∧,,∧ >必要なunitまで削ったと思われ。 ミ,,゚Д゚彡 コンパイルエラ-が出ると思われ ミ つ旦)~~ なんですが...... 〜と,,,~),,~) 一休さんみたいに一休み一休みして 落ち着いて調べてみたらいいアイデア出るかな。 あと、isEUC,isJIS,isASCII,isUnicode 関数があったらええなー,,,
たまたま同名の関数が複数あったってオチとか? 同じユニット名のソースがあちこちにあって別のユニットがリンクされてたというオチとか?
|,,∧ とりあえず、その問題は |Д゚彡 ヒトヤツミヒトヤツミしながら考えます | U | ミ 雑談スレという事で | U 適当なカキコしてみるです。 別スレで話題になっていたので C#と比べてDelphiの弱点とか 気になる点を言ってみるです。 ・構造体?Object型?の扱いが中途半端 C#では構造体にもメソッドが使えるようになっているらしい?だっけ? 忘れたけど。 ・名前空間の扱いが変、というか機能不足 自作でTComboBoxExとか作ってたとしたら D6から標準搭載されてるから、どしたらいいの? IndyだってTIdXXXって名前なんか変だよ。 ・ファイル列挙が弱すぎ 俺は自作してるからいいけど FindFirst、FindNextでループ回すコードが きれいなわけない。 ・Drag&DropがVCL標準で実装されてないとはトホホ。 IndyみたいにOLEDrag&Dropコンポーネントの権利ゆずってもらえ。
144 :
デフォルトの名無しさん :02/05/29 10:24
厨な質問ですいません。 Delphi6 自体はWindows XPでの動作を保証していないですよね。 互換モードで動かせってボーランドに書いてあったし。 では、Delphi6を使って作ったアプリケーションについてのWindows XPでの 動作というのはどうなるんでしょうか?? 何かまずいところあるのでしょうか? Windows XPでの動作をさせるための方法や留意点はありますでしょうか? ちなみにデータベースデスクトップでParadoxを使ってのアプリケーションを考えています。 データベースデスクトップについて詳しく書いてあるサイトや本もご教授願えればと思います。 よろしくお願いします。
・コンポーネントインストールの仕組みがややこしい [環境オプ]にファイルパス通さなきゃいけないやり方は変だし わかりにくいし、使いにくし 従来のIDEにインストールのやり方もいいけど 旧VBのようにプロジェクト毎に取捨選択 出来てしかるべきだと思われ。 ・インターフェースがちょっと使い方、わからなさすぎ。 VCLで普通に使われてないから、 どうやってインターフェースつかったらいいかわかりにくい。 身近じゃない感じ。 ・XML. 俺はいらんがいる人もいるみたいだから エンプラ版じゃなくても簡単に使えるようにしてくれい。 ・Webアプリ シャルロット? スクリプト言語に手を出すのが遅すぎた。 DelのWebアプリ開発 誰も使ってないから、ネットで情報を得ることも出来なくて 誰も使いはじめようとしない悪循環に入っている気がする。 どうしても、.NETやASPに比べて使おうという気力が沸かない。 ・Formのサイズ制限の実装がいまだに変 結局WM_GETMAXMININFOで自作する必要がある。 些細な所で気になるよ。 当然.NETのWinFormはそんなことないし。 ・ApplicationForm 今時…いいかげん昔のVCLの仕様を 引きずる必要ないだろうに。 .NETじゃ当然そんなのもないし。 |,,∧ C#と比べない所でも |Д゚彡 もっと、便利な機能が ⊂ミ イパ^イホスイ | ,;゙ |´ IDEエディタ部のソース公開とか IDEダイアログページの部品のVCL化とか
そういや JAVAランタイム上で走るコードが吐けるDelphiってどうなったの? 開発してるってアナウンスあったよね? まあ 素直にJAVA使った方がいいの当然だから辞めたのかな
∧,,∧ ミ,,゚Д゚彡 <XPで試し厨、ルナはOFFってますが。 ミ つ且~~ ミ,,__ ヾ モチカシシテ rtl60系エラーは ⊂二二二UU二二⊃ XPでコンパイルしてるからかしら? まさか… とりあえずフサの環境では Delphi6自体の動作は安定してるようです >Windows XPでの動作をさせるための方法や留意点はありますでしょうか? あんまし聞いたことはないっすね。
148 :
デフォルトの名無しさん :02/05/29 11:16
>>141 >必要なunitまで削ったと思われ。
>コンパイルエラ-が出ると思われ
>なんですが......
そんなことないよ。
unit MyUnit;
interface
implementation
uses YourUnit;
initialization
YourUnit.ChangeSettings(...);
end.
このMyUnitをusesするとYourUnitの挙動が変るけど
usesしなくてもエラーにはならない。
>>143 まあそうは言っても・・・
標準でアレもコレもついてないから、
作ろうという意欲も湧くし
作れば愛着も湧くし、
そうこうしてるうちに作っても簡単ってレベルになれるし、
全〜部標準で、組み合わせるだけって、なんか楽しくないかもね
>>148 ああそういや JPEGもそんなふうに後追加方式だったよね
フサさんどうも。楽しい話題中割り込み失礼しました。
>>143 ほぼ同意。
名前空間はすぐにでも何とかしてほしい。
ついでをいえばコレクションとかイテレータとかマップとか
Javaまでとはいわんがもうちょっと何とかしてほしい。
.netになるついでに JAVAやC#のいいところを取り込んだ言語仕様にへんこうしてほしい。
_____________
∧,,∧∩ /
ミ,,゚Д゚彡 < 同意してもらえますた。
U ミ \____________
@ミ ミ
∪''∪
イテレータといえば、
.NETでは
イテレータインターフェースを備えたものに対して
ForEach文が有効になるのかな。
その仕様も入れて欲しいです。
>>149 さん
標準でアレコレついた方がRADとしては
いいんではないでしょうか。
全部標準でついてきても、その標準を超えてみるとか
違ったアプローチで実装してみるとか
たのしみはいくらでもありだと思うです。。
それに、.NETでは標準なのに
VCLでは海外コンポを使わなければダメ
っつのは、うれしくはないっす。
_______________ ,,,,,,,,,,,,,∧,,∧ / 〜′,,,,,,,ミ,,゚Д゚彡< VCL標準でないから抑止欄 UU""" U U \_______________ そもそも、マップとかハッスってなんですか? …また聞いても使わなきゃ忘れちゃうけど… HashStringListはあるはずです。 が使ってないので、有用性がわからん。 Vectorは似動的配列というのは この前教わったから わかったようなわからないような感じ。 スタックやキューはD5から搭載だったかな。
誤爆ハッケソ
>>155 mapは簡単に言うと連想配列。というか検索しれよ。
,,,,,,,,,,,,,,,,∧,,∧ / ̄ 〜′,,,,,,,,,,ミ;゚Д゚ミつ ))) < ご、ごめんなスマソ UU"""" U \_ 誤爆じゃなくて、誘導してみたんですが。 わかり肉買ったすか。 連想配列…ググって検索しても使わないとすぐ忘れる罠に,,,, あ・・・アボーン扱いですな。こりゃ。 連想配列が役に立つ場面を想定しなければいかんですのね。
気付かずスンマソ
STL見て アルゴリズムのライブラリなんて標準にしちゃったら、 確かに初心者には優しいかもしれないけど、それでいいのか? と漠然と不安を持ってた。 しかしまあパソコンの性能は有り余ってるんだからそれでいいんだろうとも思った。 お仕事はそれでいいとも思った。 でも、Delphiが好きだったのは、そういうのを自分で作る楽しみがあったからかもしれない。 C++やJAVAでそういうの自作してたら笑いもの扱いだものね
しばらくC#使ってたんだが、ライブラリが整いまくってるのはいいね。 DelphiもXMLやら正規表現やら標準ライブラリにあってもいいくらいだよ。
>>161 初心者に優しいのではなく可搬性が上がる。
STLは初心者に優しいとは思えんが。
>>155 HashStringList。。。
某はこのあたりは中途半端だね。
>>162 そう、正規表現が標準なのには驚いた。やっぱあると便利だよね。
165 :
デフォルトの名無しさん :02/05/29 16:07
既存の有名VCLにサポートを投げつけてる気も。。。
>>162 でも、ひとたびライブラリにない問題にぶち当たると面倒に感じる罠。
はぁ〜〜 ∧,,∧ /WinXPとD6で問題なさそうって言ったけど ミ ,,ミ < うそでした。問題大有りだよ、この糞OS。 し ミ \ ミ 〜ミ ∪''∪ どうやらVCLの内部で例外がたくさん発生して それをさばききれなくなっているらしい。 IDEからデバッグ起動したら こんなメッセージがでますた。 同じDLLでWin2000なら問題なし。 XPの互換モードも効果なし... --------------------------- 情報 --------------------------- プロジェクト C:\Program Files\EmEditor3\EMEDITOR.EXE で一度に多数の例外が発生しました。 'access violation at 0xff6400c9: read of address 0xff6400c9' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。 --------------------------- OK ヘルプ(H) --------------------------- でもって、XPのプログラムの落ち方がダメダメで 2000みたいにOSはなんとか落ちないって状態にならずに D6が落ちたとたんに タスクマネージャがGUIの足ひっぱって 全GUI道連れにしておちまする。。。。。 ダサダサOSだ。。開発にはまったく使えない。
ひょっとして…EmEditorのプラグインDLLを、VCL使って、しかもパッケージを使う設定で作ってます? いや、ダメとは言いませんけど… 折角DelphiはVCL(Classes.pas)使わなければ非常に軽くなるのに… メモリーが勿体ないと思う時代は過ぎ去ったのですね… Delphiで作られた.dllの例外を、別の言語で作られたEmEditor.exeがさばけないのは当然のような気が。 (例外そのものはWin32の機構ですけど、ObjectPascalのクラスにすぎないExceptionを経由して情報を渡しているから) 片っ端からtryで囲って.dllの中で例外を表示させてみるとか。
>>167 XPが悪いんじゃなくて、XPに対応してないDelphiが悪い。
170 :
デフォルトの名無しさん :02/05/30 02:16
Delphiで作ったアプリはXPで動きません。
171 :
デフォルトの名無しさん :02/05/30 02:19
プラグインとか使う場合はVCL使うのは感心できないね。
プラグインとか使う->プラグインとか作る
>>170 こういう拡大解釈も最近よく見るな…
>>171 も釣られなさんなって…
「Delphi.NETにランタイムが必要」というのもこの類の拡大解釈ではないかと最近思ってきました。
写真でusesにBorland.Vcl.〜と書いてあったのは事実ですが、スタティックリンクできないなんてどこにも書いてません。
記事を探しましたが大した事は書いて無かったし。
Delphi.NETで作られたアプリにはBorland.Vcl.〜.dllが必須と明記された記事があるなら教えてください。
事実無根ならBorlandを信じることにします。
( …これで実際に裏切られたら本気でC#に移行を考えないと…w )
なんかプラグインにVCL使ってる方がいるみたいなので聞きたいのですが、 VCL使ったDLL呼び出すとメモリリークする問題とか、 TThread使うとメモリリークする問題とかあったと思いますが、 それらはもう直ったんでしょうか?
>>174 釣られてるのはあなたじゃないんですか?
>>174 .NETでスタティックリンクってどういう意味?答えてみ。
.NETだろうがスタティックリンクはスタティックリンク。ライブラリ込みでexeを作ること。 C#でも csc A.cs B.cs でひとつのexeにくっつくじゃないですか。 dccilコンパイラがusesで書かれた先(.NETの名前空間やdllとは限らず、dcu相当の独自中間ファイルかもしれない) をどう処理しようが別に構わないわけで。 まあ夢想でしかありませんけど。
おお!ありがとうございます。 Borlandを信じていてよかったと思えた瞬間… Microsoft.VisualBasic.dllだけでなくMicrosoft.VisualC.dllすら存在する状況下で 全く専用のdllが要らずmscorlibとSystem.〜にしか依存しないというのも それはそれで疑問が…やっぱり巨大exeは健在か?(w
182 :
デフォルトの名無しさん :02/05/30 04:03
ML見たら久々にpcodeハケーン!
>>182 書き込み自体は久々ではないんだけどね...
とりあえず Classes.pasはPluginによって 使ったり使わなかったりです.. StringListで処理させたい時もあるし,,, __________ ∧,,∧ /とりあえずClasses重すぎ.... ミ,,゚Д゚彡 < クラスとか ミ つ且~~ \_詰め込みすぎじゃないかしら 〜ミ,,,,,, ,,ミ TStringList自作しても 結局TListは使うから..Classes使うのは同じなのかな。。 パケージってのは 実行時パッケージのことすか? メモリがさすがにもったいなくなったので usesのものは極力減らしてまするんですが PlugInのモノによっては PopupMenuを使いたくて DataModuleに貼り付けて動的生成したりしてるもんすから… >Delphiで作られた.dllの例外を、別の言語で作られたEmEditor.exeがさばけないのは当然のような気が。 じゃ…なんでWin2KはOKでWinXPはだめなんだろか..トホホ >VCL使ったDLL呼び出すとメモリリークする問題とか、 はみつつです。(w キシュツですか?
186 :
デフォルトの名無しさん :02/05/30 13:26
>>185 Delphi MLとかC++BuilderMLとか
その他多数。すげえ有名。
この点C++Builderだと、 TStringListはstd::stringとvectorかlistで簡単に自作できるから強いね。
>>187 あ、それはDelphiでもSaveToFileを手で書けば解決するでしょう
気になってしょうがないんだが… 次に出るDel7では少しだけ.net対応になるんだろ? 少しだけってどれくらいなんだ? そしてKylix3にC++Builder混入疑惑… 某板のコロスケ刷れでも話題だが、どこまで扱えるんだろう・・・?
どれくらいかっていうと イヤーン 少しダケヨーン ∧,,∧ ミ゚Д゚*ミ ミ⊃ ⊂ミ 〜ミ ▼ ミ U U 〜●・●〜 それぞれ名前は忘れたわ Del7ではコンパイルしたとき .NET用のバイナリも出力できわ >>だからWinCEとかでも動いたり動かなかったりするらしいわ Del.NETでは .NET用クラスライブラリをDelphiから使えるわ VB<>C#<>Delphi相互のクラス利用が可能のようよ って認識。違うかしら Kylix3はLinux版Delphi+BCBだと思われよ
>>191 >.NET用クラスライブラリをDelphiから使えるわ
>VB<>C#<>Delphi相互のクラス利用が可能のようよ
俺はフォームデザイナがWindows.Formsに対応できてないだけと睨んだけど。
Pascal.NETとしては使えるが今のC#SDKのような悲しい環境で。
っていう話だと理解してた。
>>192 そんなもんつかうやついるはずないよ。
君の理解はまちがい
>>193 Delphi.NET
->従来のDelphiソースを.NET用にコンパイルできるミラクル環境。
>>194 だったらBorlandマンセーなんだけど
VB6とVB.NETみたいな悲しい関係になってほしくないなあ
俺は別にTComponent 継承のさえ移植できればいいや
>>195 VB.NET -> .NET対応を重視 -> 従来ソースとの互換性が・・・。
Del.NET -> VCL対応を重視 -> .NETとの互換性が・・・。
行き着く先はC#なのさ。
言語開発スレの新言語が.NET対応になったらもしかすると・・・。
VCLが変更されてもそんなに困らないけど? 従来のソース資産は普通、関数とかせいぜいTObject継承でしょ?
>>197 .NET対応を重視するとすべての言語がC#の文字面を変えただけのものになってつまらん。
ぜひともVCLとの互換性を重視してほすぃ
∫ _________
∧,,∧ ∬ /プレゼンから想像するのも
ミ,,゚Д゚彡っ━~ < ファンならではの楽しみ
_と~,, ~,,,ノ_. ∀ \ ですね
ミ,,,,/~), │ ┷┳━  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ .じ'J ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ┻
http://homepages.borland.com/aohlsson/BorCon2002/RAD1115.html Pascal.NETじゃないし
VCL互換は保持するでしょう。
.NETでもAPIは使えるんだし。
VCLソースをCILコンパイラってのを通せばいいだけかも。
201 :
デフォルトの名無しさん :02/05/30 22:31
>>200 >Also included in DCC32 compiler in Delphi 7
>・Nested types
…classの中でさらにclassが宣言できる?
>・Namespaces
…Borland.Vcl.StdCtrlsみたいにunit名が階層化できる?(ネイティブのときも使えると嬉しいですね)
>・Garbage collection
…流石にCLR上で動かす場合だけでしょ…ネイティブの時は恐らく無関係?
>・Class properties and fields
…今まで書けなかったclass propertyが書けるようになる?
Delphi for .NETの方に100% CILと書いているということは
Delphi 7 の.NET対応はWindows依存の部分が残っているということでしょうか
Windows.pasがそのまま使えたら、API宣言付きC#みたいなもので最強かも
_____________ ∧,∧ ,:: / ミ,,゚Д゚彡っ━'~ | コンパイラ切り替え式じゃないかしら? ミ∪ ~,ノ < Delphi for Winと for .NETは別Exeになるかもね。 ミ '' ミ \____________ し'~し'
____ _i'__`i ミ,,゚Д゚彡 (ミ Hip ミつ やってきたぞ!Delphi最強!片っ端から投げ散らすぞ! ミ Hop ミ ∪ ∪ イエーイおまえらシコシココード書いてますかぁ?イエーイ
>>167 げええ。Delphi6でWindowsXPで動くアプリケーションを作ることになっているのですが
やめた方がいいの??? 業務用アプリだからやばいよなぁ。。。
>>205 いやそんな書き込みだけ見て判断してはいけないよ。
DLLをプラグインとして使う場合、内部で例外が出ても、それを
DLL内部でキャッチしてDLL外に出さないようにしないとダメとか
そういう細かい当然やるべき事をやってる上での事かどうかとかそういう情報と込みで見ないと
>そういう細かい当然やるべき事をやってる上での事かどうかとかそういう情報と込みで見ないと ∧,,∧ やり方がわかりません鬱 ミ,, 彡 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱 ミ ∪ 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱 ミ〜,, ミ 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱 ∪ ∪ 鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱鬱
>>207 俺はそのエディタのプラグインの事は判らないんだけど
EMエディタから呼ばれる関数・手続きがあるだろ? それを hoge とする
procedure hoge( dt:THogeData);
begin
try
except
// 出来ればここで、キャッチしたエラーをデバック中はログに吐くとか
// (ログに吐くのはVCLを使わずにAPIでやらないと意味がないけどね)
// せめてメッセージを出すとか
on E:Exception do MessageBox(0,PChar(E.Message), 'HogeDLLでエラー', MB_OK );
else MessageBox(0,'鬱・・何だか判らん', 'HogeDLLでエラー', MB_OK );
end;
end;
Delphiの例外は、APIの構造化例外で処理されてるから
こういうふうに、全部例外をDLL内で処理しないと exe側でキャッチされてしまう
で、exe側でキャッチしても、当然例外オブジェクトの扱いが違うから
鼻から悪魔が出る事もあると
そういや DLLの作成時にUNITのinitialization 節が 実行されない不具合直ってるみたいだ
もちろん try exceptの間に書きたい処理を書くんだよ・・ 基本的にこういうのは別のメソッドにしとくといい
Delphi使っててほんとに例外処理知らんのか?
212 :
デフォルトの名無しさん :02/05/31 13:28
>>211 そんなことはわかってると思うよ。
例外処理をしたってそのDLLがWindowsXPでは正常に動作しないことには
なんら変わりがないと思うが。落ちないだけで。違うのかな?
一度に多数の例外が発生出たって事だと 何かDLL側の潜在的なバグで例外が出てるのに エディタ側は構造化例外をキャッチしてないのだと思うけどな
214 :
デフォルトの名無しさん :02/05/31 13:44
他のいろんなところ探しても windowsXP上でDelphi作成アプリを動かすと問題があるって 話は見つからないよね?大丈夫なのかな?
>>214 VisualStyleを使用しなければ基本的に問題ない。
ただし某のサポートは受けられない。
216 :
デフォルトの名無しさん :02/05/31 19:31
delphi5ってどこかで落とせないんですかねえ? pascalならあるんですけど授業と食い違うんですよ
Delphiを授業に使ってるガッコがあるんだ・・・へえ〜
大卒には必須の知識ですが?
>>219 >大卒には必須の知識ですが?
取りあえず鉱石学部の奴に謝れ。
>>216 まぁDelphiはPascalじゃなくてObjectPascalだからなぁ。
でもdcc32使って、{$APPTYPE CONSOLE}しとけば、
いわゆるガッコウでやるようなPascalとほとんどかわらんだろ。
かわるとしたらファイル入出力とかかな?
標準Pascal
Reset -> Read or Readln -> Close
Rewrite -> Write or Writeln -> Close
ObjectPascal
AssignFile -> Reset -> Read or Readln -> CloseFile
AssignFile -> Rewrite -> Write or Writeln -> CloseFile
だったかな?
旧来のText/Assign/Closeという名前でも使えますよ。 TFormにこれらのプロパティやメソッドがあるから別名としてTextFile/AssignFile/CloseFileもあるだけで。
>>201 しかしこれ見るとdel6にはほとんどいいとこねーな…
ウリだったCLXも使ってる人は少数派だろうし
>>223 俺はPersonalで初めてDelphiに触れたんで、FreeのDel6Personalは
大きな意味があった。
ありがとう、Borland。
225 :
いさかじゅうぞう :02/06/02 00:30
226 :
デフォルトの名無しさん :02/06/02 00:31
227 :
デフォルトの名無しさん :02/06/03 00:14
>>223 CLXは「今後」使う人が多くなるでしょ。
早くBCBのLinux版キボンヌ[w
230 :
デフォルトの名無しさん :02/06/03 00:33
CLXイラナーイ Linuxイラナーイ
Delフサギコもタカラに転職ですか・・・
フサギコは犬だから……
T | A | ・・・・イヌTAKARA・・・・ K |彡 A ⊂ミ R |ミ A |J
まぁここで書くのもアレで申し訳ないが… 顔文字/AA板出身の俺としては『宝頃すけ』だ。 一人寂しく宝鯖にDoS攻撃スクリプトでアタックしてるよ… 逮捕されても良いさ #スレ違い書き子スマソ #(逮捕されに)逝って来ます
タカラは特許取り下げしたよ。
| T | | A |∧,,∧ 正直.フサもアタク | K ミ*゚Д゚ミ したかたかも。 | A |⊂ ミ | R | ミ | A |゙゙∪
●∩∧,,∧ アタックNoワン ミ゚Д゚,,ミ ↑犬だから ミ ,つ  ̄  ̄ ミ゙゙_ ミ〜 ト  ̄  ̄  ̄ ∪゙ヽ ミ オ / ∪ \ / : オ / || . ォ \ / | : ォ \ / . | . ォ あたっく〜〜♪ あたっく〜〜♪ なー♪、んばー♪ わーーん♪ ♪ ∧,,∧ ♪ ミ,,゚Д゚彡 ♪ ミつ[|lllll]). 〜ミ ミ U''U 記念カキコ
240 :
西村博之 :02/06/03 23:59
「タカラは、ギコ猫がインターネットのコミュニティーで生まれて広まったものであることを 考慮すべきで(事実上の作者である)ネット利用者の気持ちも分かるはずだ。 これまでもアスキーアートを使ったグッズや書籍などが生みだされている。 そういった自由にキャラクターを育て、自由に使える状況を存続させていきたい」
>>236 トッキョじゃなくてショウヒョウだと思われ。
242 :
Delフサギコ ◆zE1iiRdQ :02/06/04 09:48
Linux向けの .NETツールを開発している――米BorlandのCEOが語る
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20020603/2/ _______________
,,,,,,,,,,,,,∧,,∧ /
〜′,,,,,,,ミ,,゚Д゚彡< Monoっぽいのが出来るかな?
UU""" U U \_______________
243 :
デフォルトの名無しさん :02/06/04 10:43
>>242 >アピール材料は十分仕入れてきたようだ。
だって (w
Delphi 生き残れんのかな〜?
Kylix もいまいちのような気がするし...
(これは Linux とも絡むが)
Delphi 1.0 発表時の「これだ!」っていう衝撃がない。
なんとかせ〜 > Borland。 信で下さい > MS。
244 :
デフォルトの名無しさん :02/06/04 10:49
MSに氏ねというより、某が頑張るべきだと思うべ。 最近のバージョンアップは不満。
>>243 MSが氏ぬとBorlandも氏にます。
>MSに氏ねというより、某が頑張るべきだと思うべ。 >最近のバージョンアップは不満。 ミ ゚Д゚彡、同意同意. MSの著しいVerUpをみせつけられたら 某何やってんのかと思われ (Kylixに足はひっぱられたんだろうが) リファクタリングとかJBで取り入れてるくせに XP的ユーザーの意見反映が ちっともなされてなくて鬱。
>>245 不覚にもワラタ..... 現実を直視するとコワイ。
Win 止めて Linux へ行きます。 誰か仕事くれ〜。
でも Kylix2 へはバージョンアップしないぞ!
Kylix4 まで待ちだな....
248 :
デフォルトの名無しさん :02/06/04 11:39
delphi初めて3年。 C#に移ります。delphiさようなら。
>>245 どうだろう? Win32APIは十分に枯れているから
今現在、 windows互換OSを作るのは難しい事じゃないだろうし
それが間に合うまで、とりあえず緊急にはWIN95のUpdateキット
でも出せばライセンス数的には十分だろう
今MSが潰れて泣くのはXPユーザと、C#に期待してる人売業者
だけだろう。
また馬鹿が紛れ込んできたよ。(w
>>242 またQtで作るのかな?
だったらGNOMEマンセーのXimianとはうまく棲み分けられそうだけど。
問題は、Monoの成果を搾取してまたBlackdownの悲劇を繰り返さないことだけ。
252 :
デフォルトの名無しさん :02/06/04 11:57
Borlandは成果の搾取対象についても中立です。(嘲笑激藁
253 :
デフォルトの名無しさん :02/06/04 13:03
254 :
デフォルトの名無しさん :02/06/04 13:06
255 :
デフォルトの名無しさん :02/06/04 13:26
Borlandってオープンソースの成果盗みまくり。 TAKARAみたいな企業だ。(嘲笑禿藁
>>255 >Borlandってオープンソースの成果盗みまくり。
企業が使っちゃいけない理由はなし。
むしろ、積極的に取り込まなさ杉タン ミ ゚Д゚彡 もっとユーザーサイドコンポーネントを 標準コンポとして利用しる
>>255 MSのソフトがgzip使ってたってお話聞いたことない?
>>258 MSはユーザーに貢献してるから許されるんだよ。
MS マイクロソフト マイク ソフト マイ クソフト マイ クソ太〜
261 :
デフォルトの名無しさん :02/06/04 20:58
>>257 DelギコはC使えますか?
Delphiスレなのに関係ない質問御免!
でもぜひ聞いてみたい・・・
誰でも使えると思うが?
>>261 が言いたいのは、ポインタを駆使し、もう誰にも
原因を特定することさえ不可能だと思われるメモリリークを
自ら作り込んだ後に、軽やかな、しかししなやかな演出で
自らリークを解消し周囲の絶賛を受けることができるのか
ということ。
そもそもCが使えなきゃBCB使えないだろ。
Del厨もCを勉強しておくと何かと役に立ちますよ。
CゲンガーもCOBOLを制覇しておくとろくな事ないですよ
>>265 安心しろ、Del系の書籍が少なすぎ&Helpが初心者向けじゃないから
大方のDelを使う奴は他のオブジェクト指向言語をある程度は使える。
ついでに言うとKylixを使用している奴の場合、何かとC・C++の知識は必要。
とネタにマジレスしてみるテスト
ところで今現在Kylix使っている奴いる?
色々な理由でKは小物ツールを作るには向いてないような気がするんだけど…
みんなはどんなの作ってる??
>ついでに言うとKylixを使用している奴の場合 そんなヤツいないよ(沙
> 大方のDelを使う奴は
>>265 の言うDel"厨"はそれ以外の少数派のことだろうな。
kylixってネタでしょ。 本気でやるならclxなんてヘボイ形式作んないで、 既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。
>>268 わかってるよ、散々各所で調べてきたんだから…
誰か漏れ以外に使っている、もしくは某の口車にまんまと騙されてKを買ってしまった奴居ないかなぁ…
>>271 無料版インストールして、HelloWorld動かして、おー動いた動いた。
で、それっきり触ってない。
LinuxでX立ち上げる事自体ほとんど無いもんなあ… kylixってdaemonとかcgiとか作れるの?
>既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。 爽 快 に 必 死 だ な 。 >既存のDelphiアプリがコンパイルすればLinuxで動くようにするだろうし。
>>271 買ったよ。
Kylixに限ったことじゃないんだがどうもdbExpressが好きになれないんだよなー。
あと、Enterでプロパティエディタがアクティブにならない点。
276 :
デフォルトの名無しさん :02/06/05 00:01
Kylixイラナーイ Linuxイラナーイ
学校ナイシー
278 :
デフォルトの名無しさん :02/06/05 15:21
VS.NET付属のWinDiffって進化してるの?
(゚Д゚)ハァ?
日経ソフトウェアのムック「カンタン!Delphiプログラミング」買った人いますか。 「付属CD-ROMに収録したプログラムやデータなどは、著作権法により保護されていますので、 特別の表記が無い限り改変や再配布はできません。」と書いてあるのですが。 これはマジでしょうか? 再配布ができないのは良いとして、付属のサンプルコードを改変してはいけないとは悲しい。
買った。だが、 わ ざ わ ざ 流 用 す る ほ ど の 物 で も な い が漏れの感想。
あなたは、「文字列検索」でUpperCase派?そりともLowerCase派? どうもオレはその時の気分でゴッチャになる(分裂気味?)。 どっちがいいとかあるんだろうか?
283 :
デフォルトの名無しさん :02/06/06 00:21
>>280 「改変して、『by オレ・作』はダメアルヨ」って意味じゃないの?
追加 改変して、『by オレ・作』にして、それを公開する(ネットでとか)のはダメアルヨってこと。
>>281 >>282-283 スクリーンセーバーを作ってみたかったのです。
コピぺせずに一から作るなんてできないよー。
まあ参考書にソースコードが付属している場合、再配布、または改変しての再配布について
禁止しているのは珍しくないですけど。
でも個人的にソースをいじって試してみることについても禁止しているように見えたので。
使えねー本だ。ウワーン
結局他でサンプルソースコードをゲットしました。
すいません。ちょっと愚痴を言ってみたかっただけでした。
∧,,∧ ミσ゚Д゚ミσ 常識の範囲内で対応シル そんな意味不明な使用許諾? 守らなくていいだろ。 守らなければ訴えられる時だけ 気をつけれ。
288 :
デフォルトの名無しさん :02/06/06 01:28
>>286 ああ、「Delphi で作るスクリーンセーバー制作講座」か。
あそこのソースは「どうぞご自由に」って書いてあるもんな。
「ソースアーカイブの2次配布はいかなるかたちであれ禁止」だそーだが。
>>287 >>288 愚痴を聞いてくれてありがとう。フサギコタンニ レスシテモラエテ ウレチイ
結局使ったのはBorland Developer Network(旧 Borland Community)の記事とCode Centralにある
ソースです。
せっかく作った(実際はほとんどソースをコピぺなんですけど)スクリーンセーバーが
配布できないのに気づいたのでやつ当たりしちゃいました。
まあそれが普通なんですよね。日経ソフトウェアさんごめんなさい。
>>289 謝る必要は無いと思うが…
むしろ雑誌・書籍についてあるソースを改変不可にするなんて、まともな出版社のすることじゃないと思われ。
291 :
デフォルトの名無しさん :02/06/06 10:12
サメテキスト? どちらかといえば UpperCase 派です。
293 :
デフォルトの名無しさん :02/06/09 02:22
ageちまった 鬱出汁脳
(´-`)。o ○ (もちろん、ネタだろ…かわいそうに…マジツッコミ 入れられちゃって…)
>>282 は「検索」って言ってるんで、文字列をUpperCase or LowerCase
で揃えてPos関数とかを使うって意味じゃないの?
SameTextで検索ってどうやんの?
297 :
Delフサギコ ◆o7ab2ChY :02/06/09 09:55
/ 、 \ |_____G_|__ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 川|川 / 臭 \|ノ〜 < VBマンセー! \(^〇^)/ 川川 ◎---◎|〜 \________________ 川川 3 ヽ〜 彡.| ̄ ̄ ヽ 川川 ∴) A(∴)〜 : . |G5 / 川川 U /〜 | ; ;/彡 ;川川 ダッラ〜 | / /  ̄\\;;;;;;;;;;ノ\____⊃⊆ / / \ Vノ // .  ̄| ⊆ |二二| GI AヽヽNTSヽ/----- <_ヽ ヽ | ヽヽ 5 ヽ ヽ ヽ ヽヽ ) \ \ _)_) ノ / ヽ \g8gg& ;;\ /;; ; ヽ つ二3;; ; \ / ( ;; ; ;/\(;;;);;)\ ) . :: \∴ヽ しっっ彡|;∴;/ \;;;\ /;;;/ / ) ( \ UUUU UUUU
>>296 部分文字列を比較すればできるだろ。俺はしないけど。
if SameText(Copy(Text1, Pos, Len), Text2) then
>>298 アホですか?
Pos が分かってたら苦労はありません。
>>299 検索だろ?Posをforでまわすんだよ。
煽りか?「俺はしないけど」と書いてるが。
>>298 = 302
あのね、298 のコードでは Pos が回ってません。
それから 298 は サメテキスト派 ではないことは分かっています
>>299 こういう使い方をすれってことだろ
Len1 := Length(Text1);
Len2 := Length(Text2);
for i := 1 to Len1 do
if SameText(Copy(Text1, i, Len2), Text2) then
プ
ああ、
>>305 は2バイト文字が考慮されてないとかのツッコミはなしね。
簡単な例だから。
>>305 2バイト文字が考慮されてないからダメじゃん(藁
>>304 読み取れる。失礼した。
282 の質問では、「大文字・小文字」を区別しない検索だよね
この場合、SameText() でやるより、明らかに UpperCase()
か LowerCase() でどちらかに揃えて、Pos() というのが
一般的だよね。オレの Delphi は古いので SameText() という
関数がないのだが、あえて SameText() を使うとすると、どんな
メリットがあるのでしょうか?
>>299 無知を露呈する前にヘルプでも読み耽ってくれよ。
>>310 310 はヘルプでも読み耽ってるんですか。暇なんですね。
わたしが無知だとどうしてわかるんですか?
アフォほどよく吠えるって知らないんですか?
314 :
デフォルトの名無しさん :02/06/09 11:31
ギスギス キタ━━━━━(゚∀゚)━━━━━!!!!
煽りが混じってるな
メリットってシャンプーですたっけ?
最初にアフォと言い出したのは
>>299 だったりする
「>299=>316=アフォ」でいいですね?
>>318 それ以前に使ったひとはいないのですか。
それはすごいですね。サメテキストも変ですが
バカという奴がバカと同じだな。
del厨の程度の低さ
> 読み取れる。失礼した。 ここだけ口調が違います
たかだか「比較する前に大文字(or小文字)に揃える」か
「大文字・小文字の区別無しに比較する」かの違いだろ。
なんで引っかかるんだ?このアフォ(
>>299 )は
>>328 なんで引っかかるんだ?
なんにも引っかかっていませんが。どこのことでしょう?
みんな暇を持て余してたんだ。
じゃあ黙れよ(プ
日本戦をはやく始めてくれ
328 はアフォよばわりして逃げですか?
もげそうだよ・・・
>>328 引っかかるというか、SameTextで比較する方法を考えることができなかったんだろうな。
アフォに加えて粘着だし(藁
337 :
デフォルトの名無しさん :02/06/09 11:57
祭ですか?
>>355 SameTextで比較する方法
検索だってこと分かってます?
検索するとき一度も比較しないんですか?>アフォ
>>338 本当にアホか?検索するための比較だろ?
読解力無い奴だな。(298からの流れでわかりきった事だが)
比較だけで検索できますか >アフォ Pos() の実装はともかく、コード上では比較しないよ。
>299=>341 ぁ〜ぁ、こいつやヴぁw
>>341 (=299?) SameText使った検索の話に、なんでPos()の実装が出てくるんだ?
>>342 人工です
みなさん、お付き合いありがとね!
・゚・(ノД`)・゚・。 さようなら・・・アフォな人・・・
つまらんことでスレ伸ばすなよ。
お昼時にたくさん釣れますた!!
ああ、釣れたと言わなければやってられないよね・・・
みーんなアフォ
,へ、 /^i | \〉`ヽ-―ー--< 〈\ | 7 , -- 、, --- 、 ヽ / / i ヽ ヽ | (-=・=- -=・=- ) | < 読み取れる。失礼した。 / 彡 ▼ ミミ 、 く彡彡 _/\_ ミミミ ヽ `< ミミ彳ヘ > ___/
352 :
デフォルトの名無しさん :02/06/09 15:41
∋oノハヽo∈ (# `D´)ノ<つぃはてんさいなのれす!
馬鹿って言うほうが馬鹿の法則は正しかったのね
354 :
Delフサギコ ◆o7ab2ChY :02/06/09 16:47
bakaは、死ね
今更だけどスレタイトルに機種依存文字を使うのは…。
>>354 本物は ◆zE1iiRdQ なんですけど。
>>355 Aで、Delphiユーザ=丸付き数字表示可、ということでOKになりますた。
なかなかの自己厨っぷり。
>>353 はいはい、馬鹿って言っちゃいけないんだよね。
アフォ はいいけど。
よい子は手を洗って寝ましょうね。
Delphi関係なく盛り上がってますな。
>>282 case-insensitive boyer-moore
3人寄れば文殊の知恵 この言葉は正しくありません。 3人寄っても馬鹿は馬鹿。
incaseだったらkmpの方がよさげ。
ちょっと遅れ気味だけど Delphi6プログラバイブ読んで Interfaceの実装を改めて復習してみてます。 で、ふとした疑問です。 propertyでのインターフェースの実装委譲って 何のために実装されてるんすか? はっきり逝って、Interfaceって概念自体、 Delphi使いには理解しにくいのに 更に意味不明な領域まで引き込んでくれる 実装委譲って仕組みはInterfaceの学習の際に わかりにくすぎて学習意欲が一気に萎えてしまうような 変な仕様だと思うのですが、詳しくわかっておられる方、 実装委譲の必要性はなんなのでしょうか。 なんかTAggregatedObjectとかいう聞いたこともないような クラスもあるみたいだし、、 ほんと、Interface周りはヘジタンの言うようなシンプルさに 程遠い実装だなー。ってなDQNな感想をもってしまったのですが どうなんでしょう。 プログラバイブの著者さんも、Interface実装と委譲とを混ぜたら メソッド名のぶつかり問題に遭遇するってのを書いているし。 まじで、Delphiに幻滅する仕様なんですが.... 長文スマソ。 _____________ ∧,,∧ /なんか、Interfaceに ミ,,゚Д゚彡 < いっつも文句言ってるぞ U つ \オレ... @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ もうそろそろ、Delphiにも言語的限界を 感じちゃうな。
雑談ばっかですが、 ∧,,∧ /WinXPでCtrl+Shift+Zで ミ,,゚Д゚彡 < 窓のフォーカスが外れるのは ミつ つ \MSの嫌がらせかなあ?? @ミ ミ ∪''∪ どんなエディタでもみたいなんだけど,,,,, あと、D6ってなんだか array of Stringに対して AnsiIndexOfとかで内容を検索できるみたい StringListは使わないつもりかな? 文字列処理ルーチンをみましたが関数が増えすぎて正直なにがなんだか... AnsiContainsStr/TextとかAnsiStartsStr/Textとか AnsiMatchStr/TextとかConcat、DupeString.... AnsiReplaceStr/Text(StringReplaceでいいのでは? 調べてみると,,,,全部いらんし...... (自分で作って3行程度の関数なんてVCLにならんくていいyo... いったい、誰が製作指揮とってるんだろ? オレにすら、設計がイマイチ、と思わせる開発されても 正直失望...
既存のだと多機能or欲しい機能がないのばっかりなので画像ビューワー作り出したっす。 やっとの事でJpegが表示できるようになった!(Gifその他は無視することに決定。 ビューワーって意外とむつかしいのね。 知識が追いつかないですよ・・・
370 :
デフォルトの名無しさん :02/06/12 11:49
∧_∧ /⌒ヽ ) i三 ∪ ←Del |三 | (/~∪ 三三
>>369 Jpeg展開ルーチン実装したのならすごいと思う。
でも、Susieプラグインに対応する方が死ぬほど楽だと思う。
>>367 implements については VCLでもactiveX関係の実装にしか使われていません
詳細は、ヘルプの
Delphiプログラマーズガイド
一般的なプログラミングタスク
委任した実装の使い方
前後から読むと良いでしょう
もし、 implements の機能が無ければ、例えばこのヘルプの例で
IRGB8bit のインターフェースの
Red,Green,Blue をいちいち書かなければいけません。
で、それは、メンバーとして持っている FRGB8bit: IRGB8bit;をそのまま
呼び出すだけなの殆ど意味の無いコードを書く事になります
> はっきり逝って、Interfaceって概念自体、 > Delphi使いには理解しにくいのに こういうこと書く奴のせいでdel厨とか呼ばれるんだよな…
ミノ゚Д゚彡ノヲオヲ、、コメントありがとございます。>>無責任だがさん 返信もらえて。よかった、 相変わらず詳しいっすね。 >もし、 implements の機能が無ければ、例えばこのヘルプの例で >IRGB8bit のインターフェースの >Red,Green,Blue をいちいち書かなければいけません。 いちいち書くのがオーオーピーでのHasAの関係で それが冗長でもわかりよいコードになるのではないでしょうか? (HasAには不必要メソドを隠蔽ってのもありますが,,,それはおいておいて) もしInterface無しで、HasAのクラスに 実装委譲する機能があったと想像すると そんな機能、混乱を招くだけではないかしら。 >implements については VCLでもactiveX関係の実装にしか使われていません という事は、implementsは忘却してもよろしそうですね。
>>373 違うよ。
Delphiに対する批判に過剰反応する奴がいるからDel厨って言われるんだよ。
そういう奴にはDelphiに対する要望すら批判に聞こえるらしい。
implements重要ですよー。 ObjectPascalが他のOOPLをリードしている点のひとつだと思ってるのですケド。 面倒な委譲メソッドの数を減らせるのはもちろん、 ・機能の問い合わせ方法をas演算子に統一できる。 ・全てがTObjectから継承という世界観を崩さないまま多重継承(もどき)ができる。
ほらね…
>>377 ハイハイ そっち行きますよ。
InterfaceはCOMを実装するために作ったad hocな仕様なんでしょう。 implementsはCOMのアグリゲーションそのまんまですね。 静的な設計におけるインターフェイスはInterface型よりもメソッドポインタ を使ったほうがベターでしょう。
ミ ゚Д゚彡んー
Delphi使いでInterface使って便利な
何か機能を実装してるヤシって見たことないんだけど...
それで、Del使いには理解しにくいって言うのは言い過ぎかな。
D6バイブ読んで初めてしったんだけど
InterfaceにGUIDのある無しで機能が変わったりするらしいね。
そういう仕様のInterfaceはちょっと面倒っすね。
>>376 さん、
うっそーんミ゚Д゚;彡多重継承モドキはIntefaceだけで十分じゃないのかしら?
,,,あ、そうじゃなくて実装を委譲してしまうから、多重継承に近くなれるのか...
深すぎて、フサにはわかんない。
ミ ゚Д゚彡 D6バイブの受け売りだけど >InterfaceはCOMを実装するために作ったad hocな仕様なんでしょう。 いまは違うみたいです。(こじつけかもだが) >静的な設計におけるインターフェイスはInterface型よりもメソッドポインタ >を使ったほうがベターでしょう。 それはやり方がわかりませんです。
インターフェイスの使いどころはOpenToolApiのように実行時に機能を 追加したり外部から機能を呼んだりする時にしっくりきますね。やったことはないですが。 メソッドポインタは TFireworkInterface = record Fire: procedure of object; end; TUchiageHanabi = class procedure Fire; function GetFireworkInterface: TFireworkInterface; end; function TUchiageHanabi.GetFireworkInteface: TFireworkInterface; begin result.Fire := Self.Fire; end; という感じです。
COMを真似るだけならウィザードで委譲メソッドを吐かせれば充分でしょ。 例えば、IObserver/IObservableなんてのを作ったとき、implementsがあると IObservableの実装を使いまわせます。 OpenToolsAPIのように、機能の問い合わせをひとつのオブジェクトに集中して 個々をasで問い合わせるという作りができます。 アクロバットなアイデアとしては 派生クラスで、幾つか用意された実装クラスのどれかをimplementsするのを当てにして Self as IXXX なんてのも考えられます(やりすぎと思いますけど Javaに同様の機能が無いのでデザインパターンに使われていないのが惜しいぐらい
あーasで引っ張るのは面白いですねえ。
でもまあDelphiの場合、実行時型情報が強力なので せっかくinterfaceがあっても、つい実行時型情報を使ってしまわない? published にさえしておけば、メソッド名から検索出来てしまうんだから 機能を名前で管理出来てしまう
ミ,,゚Д゚彡
...面白さがいまいちわからない...っ酢
>>384 >implementsがあると IObservableの実装を使いまわせます。
implementsがなくても記述をバンガレは実装を使いませると思うのだけど、
>>385 それは美しくなさそう,,,コンパイルエラーも出ない?
いま、ふと考えたんだけど
Memo1.Textに'MyObject.MyMethod'という文字列がある場合
ソース中のMyObjectのMyMechodを呼び出すって
事も、RTTIなら出来ちゃうんだろうかしら。
型チェックが無いと怖い体質(wなので僕は専らinterfaceですけど、 RTTIも駆使すれば色々できそうですね。 詳しくないので幾つか応用例を教えて欲しかったり。 interface/RTTIを駆使したDelphi専用デザインパターンなんてのも 列挙してみれば面白いかも。
C#ですべてできることを必死で議論してますな。(藁
MyObjectがパブリッシュなプロパティで MyMethodがそのパブリッシュなメソッドならね
>>388 >C#ですべてできること
VB.NETでもできますね
>implementsがなくても記述をバンガレは実装を使いませると思うのだけど、
それが嫌なんですよ〜
IObservable程度なら少しですけど、メソッドが幾つもある巨大な実装ならどうします?
変更時単なる委譲部分まで書き直すのも鬱ですよ。
特に問い合わせ元を集中したばあい、implementsが無いとやってられません
(5つ以上のインターフェースを他にimplementsしているクラスなんてのも作ったことがあります)
>>388 , 390
implementsに相当する機能はC#に存在しませんが何か?
もちろん VB.NET にもないし でもなあ、 VBで Interface MyInterface Function MyFunc1( MyInt As Integer) As Integer End Interface とか見ると、なんか ObjectPascalにそっくり
>>379 禿同。
interfaceの仕様って、ObjectPascalの文法の中でかなり浮いてるよな。
他の部分は芸術的とも言えるような言語仕様なのに、interfaceだけは
後からこじつけたような仕様だし、、
∧_∧
/⌒ヽ )
>>394 i三 ∪ だって後からこじつけたんだもん。
|三 | しょうがないじゃん…
(/~∪
三三
>>394 そんなふうにいうが、ActiveXやCOMがこれだけ使い易く、しかも同じくらい使い易いVBよりも
高速に扱えるようにしてしてくれてるのはその interfaceのお陰では?
こじつけでも、実際役に立っているので構いませんが。 不満があるとすれば、 ・GUIDを書かなかった場合は内部で勝手に生成して欲しい ・インターフェースを返す関数の戻り値を受け取らなかった場合 _Releaseが呼ばれるのが呼び出した側の関数の最後になるのを早めて欲しい(文の直後とかに) ぐらいです。強いていうなら、 参照カウンタとは無関係な純粋にFreeで解放するモデルの延長としてのinterfaceも欲しかったですね。 折角IInterfaceを設けたのですから、IUnknownをIInterfaceから派生し、 _AddRef, _ReleaseはIUnknownで定義され自動増減もIUnknown(からの派生)として取り扱う時だけ有効、とか。 interfaceに不満しか言わない人は、一度COMとは無関係に、 interfaceを使いまくった設計をしてみるのは如何でしょう?
5ボタンマウスの余計な2個のボタンに機能を割り当てたいのですが どうすればよいのでしょうか・・・。 自作ビューワーの 進む、戻る にしたいんですけれども。教えて偉い人!
WM_XBUTTONDOWNをPlatform SDKで調べると幸せになれるかも。 具体的な値はSDKのヘッダーファイルを検索すれば調べられます。 まあ、実は同じことやったことがあるのでコピペしておきます。 const WM_XBUTTONDOWN = $020B; WM_XBUTTONUP = $020C; WM_XBUTTONDBLCLK = $020D; XBUTTON1 = $0001; XBUTTON2 = $0002; もっといい方法があれば、教えて偉い人!
インターファイスを使ったよい例がのってるところってある? そういえばWebServceとかはInterfaceつかってるな
ァ
404 :
増田ジゴロウさんの正体が知りたいっ子 :02/06/13 23:59
どうもCOMはよく分からん…。 他が分かってんのか?と言われたら自信無いけど(藁 「解放する必要が無い」って読んだ気もするけど、どーなの? どうも勘違いしてる気がする>オレ
name only...
IInterface型は他のPascal文法にあわせて綺麗な仕様として、 その派生としてICOMInterface型を宣言して、そっちはM$仕様の ばっちい実装にすれば良かったのでは、と最近思う。
VariantとOleVariantみたいに、oleinterfaceとか、OleWideStringとか作って、 普通のinterfaceはシンプルにまとめ、普通のWideStringはAnsi同様参照カウンタでメモリーの節約を… とかやって欲しいですね。
>>407 はげどう。DelphiってMSに歩調を合わせるために、かなり設計思想を犠牲にしてるような。
>>399-400 ありがとおぅ。
何となく簡単そうなむつかしそうな・・・一段落したら試してみるです。
今日やってみようとおもったのだが先にサブフォルダ検索の実装
をやろうと思ったら6時間も掛かっちゃって・・・
苦労して作った割には動作は重いし・・・
フォルダ20個で合計2000ファイルの読み込みに20秒・・・アホな
インターフェースは仮想メソッドポインタだけの構造体と同じ ただ、メモリー管理を楽にして欲しいという要求に答える為に参照カウンタ型の メモリ管理機能を組み込もうとした。 その為に仮想メソッドポインタだけの 構造体という姿勢を崩すよりは、AddRef Releaseををコンパイラが呼び出す だけにした方が綺麗だし簡単となったんじゃないの? その機能のないinterface型を作ってしまうと、Delphiのクラス型はJAVAと違って 自動メモリ管理されないから逆にややこしいし COM型のインターフェースと共存して混乱してしまう
411 :
デフォルトの名無しさん :02/06/14 20:56
ちょっときーてください。 Delphi6 Personalで、 「オブジェクト変数の参照」と、「オブジェクト変数」の監視(ポインタ)表示で 値が違ってるんです。 で、スコープはクラスのメンバにしてあるのに、 そのオブジェクトのインスタンスのポインタを代入したメソッドを抜けると 監視表示できなくなるんです。 NewTag := TTag.Create(inTag); SetNewTag(inTag,Ele,NewTag); TagList[TagMX-1] := @NewTag; TTagはTComponentの派生、 NewTagはメソッドの頭で宣言したTTag型のオブジェクト変数、 SetNewTagはTagのメンバ変数(プロパティ)を設定(代入)してるだけ、 TagListは^TagList型のこのクラスのパブリックな静的配列、 TagMXは1です。 問題のオブジェクト変数はNewTagで、こいつの監視(ポインタ)表示が @NewTagと違っていて、メソッドを抜けるとTagList[0]が見えなくなるんです。 インスタンスは破棄していないのに。 どうやったらこのTagList[0]の値を別のこのクラスのメソッドから使えるように なるか、教えてください。 お願いします。
412 :
デフォルトの名無しさん :02/06/14 23:11
誰か答えてやって。読みづらくて。
>>411 そりゃObjectPascalでは、C++とは違って、オブジェクト変数ってのは
元々ポインタだから、@NewTagってのはポインタ変数のポインタになりますねん。
NewTagってのがメソッドのローカル変数なら、メソッドを抜けたら@NewTagの
値は不定になりますねん。
414 :
デフォルトの名無しさん :02/06/15 00:01
>>413 ガーン
ってことは、
@NewTag -> NewTag にすればいいの?
>>412 ごめん、どの辺が読みづらいか教えて。
ひょっとして改行?
>>414 >@NewTag -> NewTag にすればいいの?
いや、@NewTag -> pointer(NewTag) だと思ふ。
>>413 Wow!(泣いている) うまく行きました。 ありがとう。
これで2時間ちょっと悩んでました。
子供の頃から10年以上CやC++をいじってきて、ポインタも解ったつもり
になってたのに、実は才能ないじゃん、中国へでも売られてしまえばいいんだ
なんて思い詰めていました。 やっぱりまだ日本にいることにすます。
>>417 Pointer型にキャストしろってことですか?
TagList を array[0..99] of TTag にしました。 代わりに。
でも、これでうまくいくんなら TList を使ってPointer型に
キャストした方がシンプルですね。 やってみます。
ありがとうございました。
ところで、オブジェクト変数がポインタってことは、キャスト
すれば継承によらずにどんな変数にでも代入できちゃう
ってことですよね? いや、コンパイル通すだけなら
C++でもできるけど、それで動くようにできちゃうんですね。
ついでですみませんが、いまMSHTMLを使っているのですが、
ActiveXの取り込みで取り込んでも、このクラスが現れません
よね。 VBのオブジェクトブラウザからなどだと見えるように
なるのだけど。 入力支援機能が働かないのでオブジェクト
ブラウザと行ったり来たりでコードを書いてます。
支援機能を使う方法はないのでしょうか?
>>419 オブジェクトならTObjectの方が美しいけどね。
uses mshtmlで行けないですか?
>>419 継承と無関係な型にキャストするのは危険と思われ。
プロパティやメソッドにアクセスしたとき何が起こるか…
第一、コンパイラに怒られなかったけ?
TClassA = class(TObject) public property A: … end; TClassB = class(TObject) public property B: … end; procedure Hoge; var Obj: TObject; begin Obj := TClassA.Create; TClassB(Obj).B := x; // どっか〜ん!
>>422 クラスである前にやつらはポインタって話じゃないの?
バージョン情報の、メジャー・マイナー・リリース・ビルドって 皆さんはどんな規則でつけてる?
初公開が β1 そのあとバグ取りだろうが機能追加だろうがなんだろうが必ず1ずつあがる・・・現在β24だってさ。
というか、正式なバージョン情報の付け方ってあるんですか?
自分の場合 メジャー: 0〜1未満 未完成 1 一通り完成 2〜 ガラリと変わる場合(ほぼ1から作り直しぐらい)の時に上げる マイナー: 大きな機能追加、修正があった時に上げる リリース: ちょっとしたバグとり、修正の時に上げる ビルド: IDEにより自動更新
ちなみにUNIX系みたいな、奇数は不安定、偶数は安定みたいなつけ方は特にしてない
画像ファイルの一覧を作るのにこんな手続き書いてるんだけどサブフォルダがいっぱいあるフォルダを検索したときにやたら遅いです。 なにか高速化のいい手はあるでしょうか? filelist Tstringlist でグローバル変数。 procedure TForm1.filesearch(ddir:string); var sr:TsearchRec; res:integer; i:integer; ext:string; begin ListBox1.Items.BeginUpdate; res:=FindFirst(ddir+'\*.*',faAnyFile,sr); while res=0 do begin if not ((SR.Name='.') or (SR.Name='..')) then if ((SR.Attr and faDirectory) = faDirectory) then filesearch(ddir + '\' + SR.Name); //対象がディレクトリの場合、自分を再帰呼び出し else begin //対象がファイルの場合リストに追加 ext:=LowerCase(extractfileext(sr.name)); if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then filelist.Add(ddir +'\'+sr.name); end; end;//if end res:=FindNext(sr); end; //while end findclose(sr); ListBox1.Items.Assign(filelist); for i := 0 to ListBox1.Count-1 do begin ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]); end; ListBox1.Items.EndUpdate; end;
>>430 がミスってたので修正&余計なところを削除しました。ごめんささい
filelist は Tstringlist でグローバル変数。
procedure TForm1.filesearch(ddir:string);
var
sr:TsearchRec;
res:integer;
i:integer;
ext:string;
begin
res:=FindFirst(ddir+'\*.*',faAnyFile,sr);
while res=0 do
begin
if not ((SR.Name='.') or (SR.Name='..')) then
begin
if ((SR.Attr and faDirectory) = faDirectory) then
filesearch(ddir + '\' + SR.Name) //ディレクトリの場合再帰
else
begin
ext:=LowerCase(extractfileext(sr.name));
if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then
filelist.Add(ddir +'\'+sr.name);
end;//else end
end;//if end
res:=FindNext(sr);
end;//while end
findclose(sr);
end;
>>430 1、 手続きを作る時は出来るだけ依存関係を引数に纏める事
2、 再帰を使う時は関数内関数を使うと格好良く書ける
procedure filesearch(ddir:string;ListBox1:TListBox);
var filelist :TStrings;
procedure files(ddir:string);
var sr:TsearchRec;
ext:string;
res:integer;
begin
res:=FindFirst(ddir+'\*.*',faAnyFile,sr);
try
while res=0 do
begin
if not ((SR.Name='.') or (SR.Name='..')) then
if ((SR.Attr and faDirectory) = faDirectory) then files(ddir + '\' + SR.Name) //対象がディレクトリの場合、自分を再帰呼び出し
else
begin //対象がファイルの場合リストに追加
ext:=LowerCase(extractfileext(sr.name));
if (ext='.jpg') or (ext='.jpeg') or (ext='.bmp') then filelist.Add(ddir +'\'+sr.name);
end;
res:=FindNext(sr);
end; //while end
finally findclose(sr); end;
end;
var i:integer;
begin
ListBox1.Items.BeginUpdate;
filelist:=TStringList.Create;
try
files(ddir);
ListBox1.Items.Assign(filelist);
finally filelist.free;end;
for i := 0 to ListBox1.Count-1 do
begin
ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]);
end;
ListBox1.Items.EndUpdate;
end;
>>431 それはそんなに遅い? それで遅いとなると難しいかも
>>432 ありがつお。関数内に関数を置けるとはしらなんだ。
listboxなどを引数にするなどするのも気がつかんかったけど、確かにこっちの方が管理しやすそうですね。
>>433 同じフォルダを開いたときに
今メインに使ってるビューワーだと3秒で済むのに、俺の作ったのだと20秒掛かるんです・・・
>>434 ええと、遅いのは ループ中にあった
ListBox1.Items[i]:=ExtractFileName(ListBox1.Items[i]);
これのせいだと思うよ。
>>432 のように再帰ループ中から外して さらに
assignしてからを止めて
ListBox1.Items.Add(ExtractFileName(filelist[i]));
と末尾に追加した方がいい
>>435 おおすごいっす。20秒だったのが5秒掛からなくなりますた。
実用に耐える速度です。感謝です。
関数内関数って宣言が実装を兼ねてるんですねぇ。面白い
findfirst失敗してもfindclose呼ぶんだっけか?
えっ・・・findfirstって失敗すること在るのか・・・深い深すぎる・・・
そりゃ、一致するファイルが見つからなければ失敗するだろう……
(´-`)。o ○ (「失敗」って、そーゆー意味なのか?)
FindFirstはファイルが見つかったときは0、 それ以外の場合はエラーコードを返しますですよ。 で、ヘルプに載ってる例では、0返したときだけFindCloseを呼んでます。
コンポーネントがインストールできない〜 インストールした筈のコンポーネントは 起動時はコンポーネントパレットに表示されてるのに、プロジェクトを開くと消えてる・・・ del6 proですが、こんなことあるんか! del6インストールし直してみるか・・・
>>443 出てきた!
その時点で使えないコンポーネントは消えるのか・・・ お騒がせする間もないけど済みません。
W杯 日本敗北記念age
TreeNodeで教えてくん! TreeNodeをTreeView無しで使いたいです。 んで、TreeNodesを作って、TreeNodeをAddChildすると「親ウィンドウがない」って怒ります。 仕方ないので、動的にTreeViewを作ってItems.AddChildしたのですが、これも怒られます。 やっぱ、画面に見えちゃう系のオブジェクトはSelfがnilだと駄目なんでしょうか? フォーム無しのイケてるアップリケーションでも使いたいよ。
純粋にツリー構造を使いたいなら、自作するべし。データ構造の初歩です。 TComponentあたりを流用してもいいですけどね。 ストリーミングなどでTTreeNodeでなければいけないなら、 TTreeViewはコモンコントロールのラッパーなので、項目も外部で管理されているため ウィンドウハンドルが必要です。Visible = False で使うしか無いでしょう。
>>449 ありがd。
やっぱ無理か。。
最初は、自分で作ってたんだけど、ノードの移動とかを考えると
MoveToがあるTreeNodeが便利かなあ、と思って使ってみたら
使えなかったよ。。。トホホ。。
なんか代替案考えます。
ギャー!いい案思いついた! CLXのTreeNodeを参考にして作ればいいんだ!MoveToあるし。 すげー!パオーン
>>TreeNodeをTreeView無しで使いたいです。 これが一番の謎です。
アトランティスの謎です。
里見の謎です。
コンボイの謎です
コダックのOCX使って、スキャナ制御してるんですけど、 なぜか色数の指定とサイズ指定ができないんです。 スキャナの制御とかやってるかた、つーかTWAINですな。 なにかいい方法ないでしょうか。
Cマガに「delphi7は今年の第2四半期に出る」って書いてあったけど、マジ?
>459 「今年の第二四半期」ってあと一週間しかありませんケド……
最近 Delフサギコ見ないけど生きてるか?
>>461 けど、一度現れると、朝まであらゆる場所で見かけたりするけどな。
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| |仕事疲れたら出るダロ.| |_________| ∧∧ || ( ゚д゚)|| / づΦ
各Delphiコミュニティの有名人 nifty Delphiフォーラム: 謎の全知師(最近見ないけど) 瑠ろう Delphiメーリングリスト 中村 Delphiスレ Delフサギコ あと、誰いる? MLのあの人はあえて出さなかったよ。
>>465 Delphiスレなら
最近、「無責任だが」氏はなかなかがんばっているようだね
トリップつければいいのに...
_____________ ∧,,∧ /激務→出張→缶詰→激務→失恋 _ ミ,,゚Д゚彡_< で、踏んだり蹴ったりで、現実逃避してますた .=| |==U==U=| |= \ | |@ミ ミ .| |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | ∪''∪ | | 何もする気がありませんが何か? | | | |
>>467 昨年末に、彼女と別れた、とかいっててもう失恋ですか。
もてるんだか、そうでないんだか、分かりませんね。
_____________ ∧,,∧ /失恋ってっても人妻さんに単なる片思いですし _ ミ,, 彡_< いいことなんて、なんにもないです。 .=| |=ミ ミ=| |= \"あーきらめましょおー♪あきらめましょー♪" | | ミ@ ミ | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | ∪''∪ | | 近所の猫にオリジン弁当のから揚げを | | | | やったら、なつかれました... 女の子もなついてくれないかな。
_____________ ∧,,∧クルッ / ついでに言うと _ ミ,,゚Д゚彡_< 元カノは半ストーカーと化してます, .=| |=ミ ミ=| |= \ | | ミ@ ミ | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | ∪''∪ | | | | | |.ポリ公には相談に逝きました.....欝だ... もうみずぽですか?みずぽなんですか? 逝きるってなんですか。日曜昼からAA書く事ですか・・・・・・
>逝きるってなんですか。日曜昼からAA書く事ですか・・・・・・ 日曜の昼間も仕事しつつ息抜きに2chすることです・゚・(ノД`)・゚・
しんでいいよ にんげんがいきるりゆうなんてなにもないんだから しんでいいよ
人生、踏まれたり蹴られたり、沈んだり潜ったり、嫌なことや辛いことがあったり、 忘れたいことや思い出すと錯乱状態に陥ったりすることもあります。けれど、 生きることには何の具体的な希望があるわけではありません。ですから、 地獄の底を這いずるように生きましょう。我々には氏ぬことも許されません。
>Delフサ まあ、発泡酒でも飲んでおけ。
476 :
Delヒッキー :02/06/23 23:34
>>Delフサ まぁここでマターリしていきなされ・・・
| |,,∧ |д゚彡 ⊂ノ 2chってたまにヤサシイよな |ミ | ━━━━━━━━━━━━━━━━
>>Delフサ >人妻さんに単なる片思い オレにも経験がある。つらいよねぇ..... いい女はだいたい人妻だしね >逝きるってなんですか。 うーむ、結婚して子供つくると、この答えは自明になる、と思う 適当にみつくろって、身を固めることを勧めたいと思ふ >現実逃避 2ch は現実逃避の一つだね。たまにはコテハンよして、 「デフォルトの名無しさん 」で書き込んでみるとよいと思ふ
>>478 >>>Delフサ
>>人妻さんに単なる片思い
>オレにも経験がある。つらいよねぇ.....
>いい女はだいたい人妻だしね
同感です。
くどいけど引用しときますた。 マーフィーの法則にもあるんじゃろか。
>>逝きるってなんですか。
>うーむ、結婚して子供つくると、この答えは自明になる、と思う
>適当にみつくろって、身を固めることを勧めたいと思ふ
犬もいいよ。素直でかわいくて。
∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,, ゚Д゚彡 <
>>478 結局AAでDelフサとわかる罠(w
ミ つ[|lllll]). \_________
@ミ ミ
∪∪漏れDelフサじゃないよ
いい男は大抵既婚者かホモだそうですが 独身のホモでもない俺はいい男じゃないんだろうなーいい男ってなんだろうなーいい女もわかんねーや。 最近ファイルのD&Dで起動したときに勝手に変わる作業フォルダの悩みを解決してちょとうれし。 ↑ 絶対パス指定以外にいい方法はない物だろうか。
ファイルメモリ GetTempFolder
483 :
デフォルトの名無しさん :02/06/24 09:33
あるファイルが読み取り属性だった場合にそれを解除したいのですが どうすればよいですか。
VCLのFileSetAttrかWin32APIのSetFileAttributesをどうぞ。 っつーかヘルプ読んでくれ。
__________ ∧,,∧ / ミ,,゚Д゚彡 < 貴様等中村師の御相手して差し上げやがれ ミ つ且~~ \__________ 〜ミ,,,,,, ,,ミ お世話になってる奴多いだろ?
猫に小判
過去ログは全て戸田のものではないかという気もしてしまう今日この頃
(´-`)。o ○ (うわー… 某所の質問レス、すごいなぁ… えらいことになってるなぁ… これ、どう答えんのかなぁ…?今まで見た中でdelphiでは最強な初心者質問レスだなぁ…)
でも本当に鬱なのは、自分が人を傷つけたり 納得できない自分に気がついたときだという罠。 取り返しがつかない。exceptなときだね。
>>490 >質問レス
質問なのか回答(レス)なのか分からんが?
(´-`)。o ○ (まぁ、「レスポンス」ってことを考えるとおかしいのは間違い無いけど…。 「質問」だけで良かったか…。つーか、広げると怒られそうだ…)
で、どこの話?ちょっとヒントを。
で、雑談スレはこちらですか? マ板のスレッドはみんな流れてしまったようで...
∧,,∧ 鬱ダ ミ,, 彡 ミ ∪ ミ〜,, ミ ∪ ∪ ∧,,∧ あ、TeamBさん、こんばんちは ,ミ ゚Д゚彡 ミ ∪ ミ〜,, ミ ∪ ∪ ∧,,∧ すいませんリアルに鬱です ミ,, 彡 ミ ∪ ミ〜,, ミ ∪ ∪ 夜中一人だと大変寂しいので もう寝ます。 サカー見る気も起きません。
∧,,∧ とかいいつつ、見ちゃった... ,ミ*゚Д゚彡 ミ つ ミ〜,, ミ ∪ ∪
駄目じゃん  ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ∩ ∩ 〜| ∪ | (´´ ヘノ ノ (´⌒(´ ((つ ノ⊃≡≡≡(´⌒;;;≡≡≡  ̄ ̄ ̄(´⌒(´⌒;; ズコーーー
>>497 韓国がフツーに負ける様を見て、少しは和みましたか?
(´-`)。o ○ (Hotkeyタソのソフト(軒並みバグだらけの模様)に、金払った 人いるんだ…。凄いなぁ…)
(´-`)。o ○ (500 はあの粘着だったんだぁ。キモイ)
(´-`)。o ○ (粘着は認めるよ(藁 しかし、驚くなぁ…。どんなもんでも 金払うヤツいるんだなぁ…)
(´-`)。o ○ (まぁ、どんなことにでも粘着するヤツはいるもんだ)
504 :
デフォルトの名無しさん :02/06/27 00:13
(´-`)。o ○ (そりゃー、2ちゃんだしな。ここは(藁)
(´-`)。o ○ (貴様等このAAに粘着しすぎ
506 :
デフォルトの名無しさん :02/06/27 04:34
>>506 俺、VisualStudio も .NET も普通に使うけど、
川俣はいやだ。オピニオンって感想文とは違うんだけどな。
>>506 MSマンセーの小デブのいうことなど知らん
>>506 なんかその文章の途中からC#をDelphiに置き換えてたら、俺の気持ちとよく会うなあ
Delphiを使うようになってから良くコードを書くようになった。
そして周りとは話が合わなくなった。
>506 別に。 嫌でも次バージョンのDelphiで.NETはとりこまれるし、 その次でフル対応になるみたいだし。
常に80%ってのは疑問だなあ 自分でメモリ管理したい場合はそれなりの手間が必要だし インラインアセンブラでSIMDでゴリゴリとかだと0点近いだろし サンクとか、ネイテブコードを動的に作るとかコルーチンとか そんなテクニックを使いたい奴はどうする? 自分の作りたいアプリで常に80%程度にしとけや!
>>506 このデブ、前は「コードはなるべく書くな。」ってほざいてませんでした?
_____________ ∧,,∧クルッ /昔、マ板に _ ミ,,゚Д゚彡_< 彼のスレが立ってたんじゃないかな .=| |=ミ ミ=| |= \ | | ミ@ ミ | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | ∪''∪ | | | | | |.
515 :
デフォルトの名無しさん :02/06/29 08:44
フサギコはねほんとはね、いぬなんだよ。
516 :
デフォルトの名無しさん :02/06/29 10:55
フサギコはねほんとはね、ねこなんだよ。
518 :
デフォルトの名無しさん :02/07/01 09:16
定期age
519 :
デフォルトの名無しさん :02/07/01 12:28
あの… タスクバーもどきを作っているのですが、 タスクトレイに登録されているアプリケーションのハンドルを得るにはどうすればよいのでしょうか。タスクトレイのアイコンと、そのアイコンがクリックされたときの メッセージを取得してタスクトレイのアプリケーションに送信、というのを実現したいのですが。
>>519 難しそう。タスクトレイのクラスって、機能が公開されてない
マルチポストはかっこわるい? フサギコは夏の間毛を短くしないの? 暑苦しくないの? 意味不明?
522は放置でおながいします
>>519 TrayNotifyWnd
SysTabControl32
MSTaskSwWClass
この辺を検索すると、ど…どうにか…な…なるかなぁ…。
Pちゃんの久しぶりの登場に何故かホッとしているのは自分だけですか?
あんただけ。でもまだ生きてたのね。
Pちゃんて、誰?
Pちゃん相変わらず低段者に優しい 吐田の突き放し過去ログ攻撃とえらい違い
├だっちの投稿を見て、 ∧,,∧ / フト思い出したですが ミ*゚Д゚彡< 桜島子宮ってなんか ミつ つ \ やらしい響きがするんですが 〜ミ ,, ミ. 猫の思い過ごしですか? ∪ ∪
_________
∧,,∧ /
ミ;゚Д゚彡< でもタクちゃんには
ミつ つ \ 厳しいみたいだぞっと
>>529 〜ミ ,, ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪ ∪
そういえばpちゃんと言えば
黒い子豚だったような...
猫?
アセアセ ∧,,∧ っっ ミ;,゚Д゚彡 っ ワッ・・・ワン ミ ⊃⊂ミ ミ ミ ∪ ∪ ス デ ワスレテタ....イヌ ダッテ コトヲ
535 :
Delフサギコ ◆zE1iiRdQ :02/07/03 10:12
_____________ ,,,,,,,,,,,,,,,,∧,,∧ /P3とかP4とかセレとかモバP3とか 〜′,,,,,,,,,,ミ,,゚Д゚彡 < CPUの種類を出来る限り UU"""" U U \プログラで求めたいのですが どうしりゃいいでしうか? 過去ログですか?
どっか、CPUのレジスタ見ればPentium以降はわかるはづ MMX/SSE/SSE2/3DNow/Enhanced3DNowとかのフラグもあるはず 右も左もわからんVB厨房がレスしてスマンコ
静かにsageで無駄なカキコを大量生産し
ごめん ゴバークした
半年位洗ってなかったので、ヤニの塊が付着してますた
二重投稿No〜〜〜〜〜〜〜っ!!
ふう 暑かった。 閉じこもって仕事してたら昨日朝からクーラ壊れた。 組み込み技術者の意地で今直した所。 修理屋を呼びたかったけど、部屋が散らかりすぎてて恥ずかしくて断念。 2時間かかった。 原因は過電流検出回路の信号用ダイオードが抵抗に化けていた事 こんな電流の流れない所のダイオードが壊れるなんて驚き。 さあ後納期は1週間、まだ影しか出来てないけど頑張るぞ・・・・
543 :
デフォルトの名無しさん :02/07/03 20:17
質問です。 このスレで毎日コミュニケーションズの「Delphiパーソナルプログラミング」という本を読んだことある方、いらっしゃいますか? その中で実際ソフトを作る所で、グラフィックパズルとか作ってるんですけど、難しくないですか? 他の部分はほぼ完璧に理解してると思うんですが、実際作る所が理解できません。
544 :
デフォルトの名無しさん :02/07/03 20:34
CPUの種類ってアセンブラでこねこねして出すんでしょ?
自作しようと主タら、CPUIDで検索すると
もっといいソフトがみつかりましたので
作るのやめました。です。DLLもあるようですね
http://homepage2.nifty.com/smallroom/soft/soft.html ___________
∧,,∧ /
ミ,,゚Д゚彡 < ありがd。
ミ つ日 \___________
.@ミ,,,,,, ,,ミ
549 :
デフォルトの名無しさん :02/07/06 11:20
,,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,ミ,,゚Д゚彡 UU"""" U U
夏場は暑苦しい
,,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,,,彡゚Д゚ミ UU"""" U U
552 :
デフォルトの名無しさん :02/07/06 12:05
_____________∧,,∧ o〜′__________(゚Д゚) <床屋行きました UU U U
553 :
デフォルトの名無しさん :02/07/06 12:05
_____________∧,,∧ o〜′__________(゚Д゚) <ずれ修正 UU U U
554 :
デフォルトの名無しさん :02/07/06 14:21
,,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,,,彡゚Д゚ミ <また生えてきました UU"""" U U
555 :
デフォルトの名無しさん :02/07/06 15:57
,;;;;;;;;;;;;;;;;∧;;∧, 〜′;;;;;;;;;;;彡;゚Д゚ミ <かえって、毛深くなってしまいました UU"'"'"'"U U
556 :
デフォルトの名無しさん :02/07/06 23:11
Delphi広場がパス付きになりますた?
557 :
デフォルトの名無しさん :02/07/06 23:28
VBScriptが壊れますた。
(´-`).。oO(NT鯖いい加減やめようよ…)
559 :
modoki ◆zVn/zRzw :02/07/07 00:46
例えば、スタートメニューの「ファイル名を指定して実行」の 参照ボタンのような、ファイル参照画面を出すのには どうすればいいでしょうか?
出すっつーか、opendialogでいいんでないの? 自作しても良し。
>>561 COMで、しかもCですなぁ。アッシはCOMはよく分かってないでやんすが、
559さんは分かってるでやんすかねぇ。
>559 [Dialogs] の TOpenDialog を Formに置いて if OpenDialog1.Execute then 処理 こんなふー。
>>559 OpenDialog1.Execute
つーか、HSP から Delphi に転向か?(藁
>>564 つーか、もう既に二人もこたえてる質問だよ(藁
>>565 書く直前にリロードかけてなかったんだよ。
悪かったな(藁
「スタートボタンのファイル参照ダイアログ」限定の話じゃなかったのか…? 単にopendialog? どっち?
procedure TForm1.Button1Click(Sender: TObject);
var OpenDialog1: TOpenDialog;
begin
OpenDialog1.Execute;
end;
end.
ボタンを作って、こう↑書いてみたんですが
押しても参照ダイアログが出ないですね。
>>563 のようにオブジェクトをフォーム上に配置したらうまくいきましたが
こんな感じでやりたいことはすべてフォーム上にあらかじめ配置しておく
というのがDelphiの基本なのかな・・・?
イマイチイメージがつかめないけど勉強します。
>>568 そりゃ、おぶぜくとをせーせーしてねーから。
var
od : TOpenDialog;
begin
od := TOpenDialog.Create(Self);
if od.Execute then begin
ほげほげ
end;
od.Free;
end;
>>568 なるほど(^^;。
先に言っておくと「アクションマネージャ」は無いのでチュートリアルは(略)。
>>568 そりゃ当然。
OpenDialog1 は変数宣言したはいいけど実体を生成してないし。
procedure TForm1.Button1Click(Sender: TObject);
var
OpenDialog1: TOpenDialog;
begin
OpenDialog1 := TOpenDialog.Create(nil);
OpenDialog1.Execute;
OpenDialog1.Free;
end;
みたいに自分で生成するか、フォームにあらかじめ配置するかしなきゃね。
またかぶったー(藁
ケコーンしませう(藁 つーか、「ポトペタ」って死語なのかねぇ…。
>>569 と思ったのですが、TOpenDialogをフォーム上に配置したとき、
Unit1.pasのどこにもCreateしている個所が見当たらなかったです。
これは、どこか目に見えないところでDelphiの神様が
生成してくださっているのでしょうか?
>>576 ありがとう。この中にその辺の仕掛けが入ってるんすね。
いつか勉強するとして、今日のところはおいときます。
>>572 (゚∀゚)空振りでも、その気持ち受け取った
>>574 ちっちゃいオッサンが大勢でPCの中でダイアログを一生懸命作っています。
解放するのも彼らです。
>>578 Inside Delphi の8章に詳しく載ってる(プロフィールつき)。
580 :
デフォルトの名無しさん :02/07/07 01:56
TOpenDialog で、ファイルを選択ではなく フォルダを選択したいときは どうするのでしょうか? プロパティではとくに見当たらなかったので、できないということですか?
>
>>580 569と同一人物ですか?検索しないと怒られますよ。
>>581 同一人物です。
ヘルプは 「TOpenDialog フォルダ」 で検索しましたが
とくにそれらしい情報がなかったので。
ファイルを選択して、そこからパスを取得しファイル名部分を削除
という処理でいいのかな。
>>580 SelectDirectoryをヘルプしてやれ
>>581 (#・ж・)プンスカプン オコッタゾオ!
>>585 たぶん、死ぬほどFAQですよの間違い。これ、今日のポイントです。
そうそう。間違い間違い。FAQ。
>>TOpenDialog で、ファイルを選択ではなく フォルダを選択したい これって、「洗濯機でご飯を炊きたいんですけど」、という感じ 専用のダイアログを使えよ
掃除機で洗濯したいですけど、Delphi ではどうしたらいいでしょう 「Delphi 掃除機」で検索しましたが見つかりません。
もうWindowsはDelphiでいいじゃないか なあ。
なんでもいいんじゃないでしょうか
___________
∧,,∧ /
ミ,,゚Д゚彡 < 初心者スレで話題にしたネタですが
ミ つ日 \___________
.@ミ,,,,,, ,,ミ
列挙型⇔文字列
集合型⇔文字列の相互変換関数
作りました。
Iniファイルの値保持時などに使うと
キットいい感じ。
列挙型⇔文字列、集合型⇔文字列の相互変換
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1025982772
めがびはイヤン
597 :
デフォルトの名無しさん :02/07/07 05:01
改行コードって \n じゃないの?
sBreakLine使え
∧,,∧ ミ,,゚Д゚彡 なんで集合型はByteにキャストできるんですの? Byte0..255符号なし 8 ビット 256パターンしか判別できなさそうなんだけど.... ふと疑問思いました。
type TNumber = 0..512; TNumbers = set of TNumber; こんなのをコンパイルしてみると 「集合型は 256 個以下の要素しか持てません」 なんていうエラーが出ました だからByte型より大きい型にキャストする必要がないんでない? ちなみにDel6です
∧,,∧ ミ⊃Д`彡 ウワーン 回答を楽しみに2ch来たのにー... なんか俺が激しく勘違いしてるのか 質問の意味が通じてないのか、どっちかで さっぱりワカメだよー えっと、集合型、set of TNumberは たとえば TNumber = (n0, n1, n2, ... , n255); //≒TNumber = 0..255; って定義されているものを 複数個まとめて [n0, n1, n2, n5, n100, n254] とか管理できるもんだと思うのですが そうすると 256個それぞれに対して集合の中の有る無しを 調べなければならなくて 256個の所にそれぞれ2進数のフラグ値が必要なんじゃないかと.... あ、あ、、、きっと俺が激しく勘違いしてるんだろな。 ∧,,∧ ミ⊃Д`彡 ウワーン
603 :
Delフサギコ ◆zE1iiRdQ :02/07/08 01:55
∧,,∧ ミ⊃Д`彡 ウワーン、ageてやる やっばし、激しくわけわかりません。 適当に調べてるさいちうに書いたコード type TEnumNumber = 0..7; TEnumNumbers = set of TEnumNumber; procedure TForm1.Button3Click(Sender: TObject); var EnumNos: TEnumNumbers; B: Byte; begin B := Byte(EnumNos); end; このコードはコンパイル通るのに TEnumNumber = 0..8; にすると"正しくない肩キャスト"エラが出るんです。 これはなせ?
>>603 1byte は 8bit なんだから Byte では 8 パターンの T or F しか表現できないのでは?
すなわち 0..7。
>>603 違った、ずれてる。
だから 0..8 だと 8bit で表現できなくて Byte より大きい型でキャストしないといけないのでは?
多分 WORD。
∧,,∧ ミ⊃Д´> ウワーンニダ 2^8=256でByteで表現できたよー でも、それだったら Byteにキャストできるのは 要素が8個の列挙型だけじゃない! もっとたくさん要素ある列挙型は何に キャストしたらよいの? ∧,,∧ ミ⊃Д`彡 ウワーンヤッパワカナイヨ
試したら Byte8個>>Word16個>>Longword32個 の要素数でキャストできるけど・・・ ∧,,∧ ミ⊃Д`彡 ウワーン、それ以上キャストする肩がないよ- そんでもって、要素数によって キャストコード変えなきゃいけなくて、鬱 ∧,,∧ <⊃Д´> ウワーン、某ランドは イルポンに謝罪しるニダ
type TEnumNumber1 = 0..7; TEnumNumbers1 = set of TEnumNumber1; TEnumNumber2 = 0..15; TEnumNumbers2 = set of TEnumNumber2; TEnumNumber3 = 0..23; TEnumNumbers3 = set of TEnumNumber3; TEnumNumber4 = 0..31; TEnumNumbers4 = set of TEnumNumber4; TEnumNumber5 = 0..39; TEnumNumbers5 = set of TEnumNumber5; TEnumNumber6 = 0..47; TEnumNumbers6 = set of TEnumNumber6; TEnumNumber7 = 0..55; TEnumNumbers7 = set of TEnumNumber7; TEnumNumber8 = 0..63; TEnumNumbers8 = set of TEnumNumber8; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers1))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers2))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers3))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers4))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers5))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers6))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers7))); Memo1.Lines.Add(IntToStr(SizeOf(TEnumNumbers8))); end; 結果 1 2 4 4 5 6 7 8
(つД`) ウワァァァン 漏れも激しく勘違いしてたみたいだ 何で256個も要素をもてるのにByte型で十分なんだよー 鬱だし脳
>>607 64個までならInt64型があるよ
type
TNum = 0..63;
TNums = set of TNum;
procedure TForm1.Button1Click(Sender: TObject);
var
num: Tnums;
i: Int64;
begin
i := Int64(num);
end;
これでコンパイル通ったよ
Delフサギコってしお韓住人だったのか・・・
そもそも、何故整数型にキャストする必要があるのでしょ? set A は元々 superbitpacked array[A] of Boolean みたいなものだし。 単に集合→文字列変換の関数の引数に総称的に渡したいとかなら 型無しconstパラメータで充分な気が。
集合はビットの配列で,各ビットはその集合に各要素が含まれるかどうかを示します。集合の要素の最大数は 256 です。 したがって,集合が 32 バイトを超えることはありません。集合のバイト数は次の式で計算します。 (Max div 8) - (Min div 8) + 1 Min と Max は集合の基本型の下限と上限です。特定の要素 E が何バイト目かは次の式でわかります。 (E div 8) - (Min div 8) そのバイト内で何ビット目かは次の式でわかります。 E mod 8 E は要素の順序値を表します。可能であればコンパイラは CPU レジスタに集合を格納しますが,集合が汎用整数型より大きい場合,または集合のアドレスを取るコードがプログラムに含まれている場合は,集合は常にメモリに格納されます。
>>607 >ウワーン、それ以上キャストする肩がないよ-
こんなのどうでしょうか。
type
TNum = 0..255;
TSetNum = set of TNum;
TSetCast = array[0..31] of Byte;
function ByteToBitStr(bt:Byte):string;
var
i:integer;
begin
result := '';
for i := 0 to 7 do begin
if Odd(bt) then
result := '1'+result
else
result := '0'+result;
bt := bt shr 1;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SN:TSetNum;
SC:TSetCast;
s:string;
i:integer;
begin
SN := [3,8,255];// Test
SC := TSetCast(SN);
s := '';
for i := 0 to 31 do
s := ByteToBitStr(SC[i])+' '+s;
Memo1.Lines.Add(s);
end;
>595 Delphi6のTypInfo.pasに、SetToString/StringToSetを見つけてしまったのは気のせいでしょうか
∧,,∧
>>615 ミσ゚Д゚ミσ そのソースはすでにしこぶる参考にしてますです。
TypInfoのヤシはどうやらプロパティに限定した
使い方を想定してるみていですね。
∧,,∧
>>614 ミσ゚Д゚ミσ byte/word/longwordなどにキャストするのではなく
array[0..31] of Byte;
とかにキャストしるってことですね。
参考にしたいと思います。
∧,,∧
>>612 ミσ゚Д゚ミσ 俺のもっとも尻鯛情報を知ってなさるような気がシルニダ<`Д´>
∧,,∧
>>610 ミσ゚Д゚ミσ サンコスク
function SetToStr(TypeInfo: PTypeInfo; const Value; Brackets: Boolean = True): string; type ByteSet = set of 0..7; var ByteValue: ^ByteSet; I, M: Integer; ElemTypeInfo: PTypeInfo; ElemTypeData: PTypeData; begin Result := ''; ElemTypeInfo := GetTypeData(TypeInfo)^.CompType^; ElemTypeData := GetTypeData(ElemTypeInfo); ByteValue := @Value; for I := ElemTypeData^.MinValue to ElemTypeData^.MaxValue do begin M := I mod 8; if M in ByteValue^ then begin if Result <> '' then Result := Result + ','; Result := Result + GetEnumName(ElemTypeInfo, I); end; if M = 7 then Inc(ByteValue) end; if Brackets then Result := '[' + Result + ']'; end;
…というわけで整数型を介する必要なんて無いんですね。 Delフサギコさんは某ランドに謝罪して下さい(w
_____________ ∧,,∧ / ミ,,゚Д゚彡 < StrToSetはどうやって作るのでしょうか?.. U つ \戻り値に肩無しConstは無理だろうし... @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ _____________ ∧,,∧ / <ヽ`Д´> < まだまだ謝罪を要求するニダ U つ \ @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪
type TMaxSet = set of Byte; PMaxSet = ^TMaxSet; function StrToSet(TypeInfo: PTypeInfo; const Value: string): TMaxSet; という宣言を持ち type TEle = (e00, e01, …(中略)… e38, e39); TRan = e01..e35; TSet = set of TRan; var A: TSet; begin PMaxSet(@A)^ := StrToSet(TypeInfo(TSet), 'e10 e20'); という使い方で動作する関数StrToSetを作ることができた、とだけ言っておきましょう… なんか悔しいので中身は教えてあげない。 ヒント: メモリを破壊する心配は不要。レジスタに収まらない戻り値は、 呼びだし側が確保したバッファのアドレスが渡されるので、使う分だけ書き換えればOK。 ( まあこんな事しなくても procedure StrToSet(…, out Result); でいいですけどね )
621 :
デフォルトの名無しさん :02/07/09 11:05
FAQのサイトが軒並みダウン
<ヽ`Д´> < Delフサニダに改名するニダ!
,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′,,,,,,,,,<ヽ`Д´>< DelphiやBorlandについて熱く語るニダ UU"""" U U \_________
スレッドクラスから、フォームを表示する方法を教えてください。 procedure TManager.Execute; var BForm : TForm2; begin { ToDo : スレッドとして実行したいコードをこの下に記述してください } BForm := TForm2.Create(Application); BForm.Visible := true; end; end. と、スレッドクラスでやってもフォームが表示されません。 中身の二行を最初のフォームのボタンのイベントの中に書いたら 表示することができたのに。 なんで? ちなみに、スレッドの起動は、同じように最初のフォームのボタンのイベント内に MyThread := TManager.Create(true); MyThread.Application := Application; MyThread.Resume; などと書いております。 よろしくおながいします。
別スレッドでウィンドウつくってもメッセージループが回っていないのでは。 オレだったらメインスレッドにメッセージ送って From2 を作らせる
>>625 Application.CreateForm(TForm2, Form2);
これをシンクロで呼んだりしてもいいのかな?
デバッガで動作を追ってみると、新しく作ったスレッドからTForm2.Create(Application); を実行するとその次の行のBForm.Visible := true;が実行されていませんでした。
イベントディスパッチャにでも化けてるんですかね?
ん?Delフサギコがカミングアウトしたのか?
やってみました。 シンクロ。 procedure TManager.Execute; begin { ToDo : スレッドとして実行したいコードをこの下に記述してください } //BForm := TForm2.Create(Application); Synchronize(CreateForm); end; procedure TManager.CreateForm; begin BForm := TForm2.Create(Application); BForm.Visible := true; end; で成功しました。 なぜ?メッセージループってプロセスの共通リソースで管理してるものじゃないの? 新フォームのメッセージループへメッセージをApplicationが振り分けてくれる必要があるとおもうのだけど、これはApplication.Runを実行したスレッドでないと登録してくれないってことでしょうか。 別スレッドでフォームを作ると帰ってこないので、やっぱり新メッセージループを作ってるのでしょうか。 だとすると、Windowのハンドルをなんとか捕まえてVisibleにすれば見えると思うのだけど、そこまで実験できませんでした。 Application.CreateFormとTForm2.Create(Application)の違いもわかりませんでした。
>>メッセージループってプロセスの共通リソースで管理してるものじゃないの? 詳しくは知りませんが、メッセージキューは、ウィンドウを作るスレッドごとに ウィンドウズによって作られます。ですから、ウィンドウを作って、メッセージ ループをまわさないスレッドはそこで止まります。これを避けるために、 VCLのオブジェクトをつくるメソッドはメインスレッドで実行するように TThread.Synchronize があるのですね。こうすると、メインスレッドの Application.Run の中のメッセージループの圏内に入るのですね。 TWinControl の派生クラスをメインスレッド以外で作るときは、 Synchronize を使うか、Form1 に適当なメッセージ(WM_APP+55とか) を投げて、そのハンドラに作らせればよいのかな。ウィンドウをつくらない スレッドにはメッセージキューは割り当てられません。
>620に自己レス。 CPUウィンドウで確認したところ、最適化の状況(Aの割り当てられ方など)によってメモリを破壊する事が判明。 嘘情報書いてしまいました。 やはり、procedure StrToSet(TypeInfo: PTypeInfo; const Value: string; out Result): とするしか無いかも。
>>Application.CreateFormとTForm2.Create(Application)の違いもわかりませんでした これは TApplication.CreateForm のソースを読むと分かるが、 MainForm(デフォルトでは Form1) 以外のインスタンスを作るときには ほぼ同じだと思います。
>>629 メッセージキューがスレッドを区別してるわけですか。
既にメッセージキューを持っているスレッドなら、新しいウィンドウのイベントもそのキューを使うわけですね。
で、新しいメッセージのディスパッチルーティンを実行してくれるわけですか。
C++風に解釈すると、ディスパッチルーティンをチェーンできるように関数へのポインタが一つ空けてあって、それを使ってチェーンしていくのかな?
考えてみると、OSはキューにイベントを入れた後、コールバックでディスパッチルーティンを非同期で呼び出す必要があるわけですが、このときにスレッドを指名する必要がありますね。
もし指名できないなら、そのプロセスの全てのスレッドにタイムスライスを与えてみるとか…激しくリアルタイムで無くなりそうですけど。 まさかメッセージループを処理するようなイベントを送ればいいなんて言えないし(w
そういうと、MFCにもメッセージを処理するスレッドと処理しないスレッドがあったような気がします。
忘れていました。
>メッセージキューがスレッドを区別してるわけですか。 まぁ、そうとも言えますが、OSがウィンドウにメッセージをポストするとき そのウィンドウをつくったスレッドのキューに入れる、ってことですね。 >既にメッセージキューを持っているスレッドなら、新しいウィンドウのイベントもそのキューを使うわけですね。 そうです。動的に TForm2 のインスタンスをつくっても動くのはそのためです。 >で、新しいメッセージのディスパッチルーティンを実行してくれるわけですか。 いえ、ひとつのメッセージキューには、最低ひとつのメッセージループがあれば よいのです。これは、Delphi の GUI アプリの場合は Application.Run の 中にあります。 >OSはキューにイベントを入れた後、コールバックでディスパッチルーティンを非同期で呼び出す必要があるわけですが いや、キューにポストして、たんにそのスレッドにタイムスライスを与えてメッセージループ を回すだけです。メッセージループが、キューからメッセージを取り出して、DispathMessage() でコールバック関数(ウィンドウ関数)を呼び出します。ですから、GUI アプリの メインルーチンは、メッセージループだけであり、キューを経由するメッセージはもちろん SendMessage() で送られたメッセージもすべて、メッセージループのなかの PeekMessage() または GetMessage() が実行されるタイミングで、メッセージ処理ハンドラが呼び出している と解釈しても間違いではありません。ハンドラを直接・間接に呼び出しているわけですから、 各ハンドラの処理が終わると、また、メッセージループに制御が戻り、それがまわって 次のメッセージ処理を行なうわけです。
>>633 ×メッセージ処理ハンドラが
○メッセージ処理ハンドラを
スマヌ
基本的に4行以上は読みません
>>633 >まぁ、そうとも言えますが、OSがウィンドウにメッセージをポストするときそのウィンドウをつくったスレッドのキューに入れる、ってことですね。
あ、スレッドのスタックを使ってるんだ。 ふーん。
>いえ、ひとつのメッセージキューには、最低ひとつのメッセージループがあればよいのです。
メッセージループとディスパッチルーティンを混同しておりました。DispathMessage()とやれば、OSが適切なディスパッチルーティンへ振ってくれるんですねェ。
あと、メッセージループって回りっぱなしなんですね。メッセージなくなったら空回りしてるんでしょうか?
スレッドがサスペンドしてるのかと思ってたのですが。
>>メッセージループって回りっぱなしなんですね。 無駄に実行することがないように、GetMessage() では、キューにメッセージが 入るまではサスペンデッドになりますね。VCLでは OnIdle を呼ぶために、 PeekMessage() と WaiteMessage() でやはり無駄な実行を防いでいます。 ですから、あまり空回りはしてませんよ。
>>637 なんだ、そうかなとはおもったんだけどね(w
で、スレッドのスタックを使っているって言うことは、
あるスレッドで作ったウィンドウへのディスパッチを別のスレッドのメッセージループから行うって言うのは無理なのかな。
これができれば、ウィンドウの乗っ取りができるようになるんだろうけどなぁ。
OSの管理してる構造体にアクセスする必要があるのかなぁ。
ミ,,゚Д゚彡 新幹線で名護ひゃに足止めされた。。。 やっと動きだした〜よ 東京は雨やんでるかしら。到着はいつになるかしら 。。。
641 :
デフォルトの名無しさん :02/07/11 00:15
同じ車両か?
>あるスレッドで作ったウィンドウへのディスパッチを別のスレッドのメッセージループから行うって言うのは無理なのかな。 GetMessage() も PeekMessage() も取り出す先のキューを指定するパラメータ がありません。暗黙にそのコードが書かれているスレッドのキューを対象にしている のですね。ですから、別スレッドのメッセージキューを直接覗く手段はありません。 フック関数をインストールするとGetMessege() 直後のメッセージを覗き見することは できると思います。メッセージを加工することはできませんが。
pcodeきたじまがまたMLでどうでもいい発言してるんですが どなたか退会コマンドを代って打って下さい。
>>643 こんな所で苦情言ってる場合か、
オマエにはオマエにしか出来ない事、
オマエのやるべき事があるだろ
まずそっちを片付けてから出直して来い
本人?
んなわけねーよな
647 :
チェキナ名無しさん :02/07/11 18:11
>フサギコさんて ほの板にも いらっしゃいませんでした? 同じ人ですか?
遅レスだけど、
>>620 もし、
「
>>620 ホントにコード書いたのか?」
って疑ってるヤシが居るかもしれないってのが気になるなら、
PGPとかで暗号化してからコードをカキコ、
パスフレーズをあとから公開って手でちゃんと書いたって
証明できるよ。
とりあえず参考までに。
>>647 Delフサギコと単なるフサギコは別物だと思われ。
継承図 AA ↓ 2chキャラ ↓ ギコ―――――― ↓ ↓ フサギコ Delギコ ↓ ↓ Delフサギコ ←
>>651 ギコ――――――
↓ ↓
フサギコ Delギコ
↓ ↓
Delフサギコ ←
なんかやな継承だな・・・。
Delphiをインターフェースとした方がスッキリしそう。
なんか変なスレになってきたねぇ…
TGikoHanyan=class(T2chAAChar) procedure Itteyosi; procedure Golaa;virtual; end; TGikoFussell=class(TGikoHanyan) procedure Fusafusa; procedure Golaa;override; end; TDelGikoFussell=class(GikoFussel) procedure DelphiOperation; procedure DelphiNeta; end;
喝! 悪しきマ板の流れを止めよう。 ---------------------------------------------
マ板がどーしたって?
>>648 ありがとうございます。
でも
>>630 にも書いたのですが、状況によって使えないのであれは無かったという方向で
_____________ ∧,,∧ / ミ,,゚Д゚彡 < out使っても俺には実装できんがな ,;゙ ミ \_____________ ミ. ミ /゛゛゛゛ なんかAccessVaioが出るの.
>>654 TGikoFussell.Fusafusaはpropertyだと思われ。
しかし型が何かわからない罠
_____ ∧,,∧ / ミ;゚Д゚,,ミ < なついあつですねー ミ つ つ \_____ @ミ ミ (ノ'''''∪ _____________ ⌒ / /⌒ヽ < そろそろ衣替えの季節 ( ヾ''""ツ, \__________ @| ミ 彡 (ノミ ゝ ゞミ 彡,,o,...oヾ _____________ ∧ ∧ / (*゚Д゚) < すっきりんこ ( つ⊂) \_______ @| ,.|,., (ヾ''"_, _,."彡. 彡,,,,,o,...o,,..ヾ
>>660 Delニダーが出てくると思ってたのに・・・。
>>652 Delphiでは多重継承はできません。
>>659 type
TFusafusa = (ffNone, ffShort, ffMiddle, ffLong, ffHuge);
property Fusafusa: TFusafusa read FFusafusa write FFusafusa;
かな?
Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ <=(*゚Д゚) < 俺DelギコだけどDelphiの起源は朝鮮なんだよ ( ) \__________ || | 〈_フ_フ
もしかしたら「フサフサだぞ」という台詞のことかも。
∧,,∧ まさか毛皮を脱いだから ミ 彡 答えてもらえないなんて、 (o ミ そんなことないよね.................................. ミ ν ミ ∪ ∪ 暑くなってストリーキングしたくなること 誰だってあると思うんだ。 | | ∩ |∀`) < ねえよ | ⊂) | / |/
procedure StrToSet(TypeInfo: PTypeInfo; const Value: string; out Result); function NextWord(var P: PChar): string; var I: Integer; begin while P^ in [',', ' ', '[', ']'] do Inc(P); I := 0; while P[I] in ['A'..'Z', 'a'..'z', '0'..'9', '_'] do Inc(I); SetString(Result, P, I); Inc(P, I); end; type TMaxSet = set of Byte; var ElemTypeInfo: PTypeInfo; ElemTypeData: PTypeData; P: PChar; EnumName: string; I, ElemValue: Integer; begin ElemTypeInfo := GetTypeData(TypeInfo)^.CompType^; ElemTypeData := GetTypeData(ElemTypeInfo); for I := ElemTypeData^.MinValue to ElemTypeData^.MaxValue do Exclude(TMaxSet(Result), I); P := PChar(Value); repeat EnumName := NextWord(P); if EnumName = '' then Break; ElemValue := GetEnumValue(ElemTypeInfo, EnumName); if ElemValue < 0 then raise EConvertError.CreateFmt(SInvalidPropertyElement, [EnumName]); Include(TMaxSet(Result), ElemValue); until False; end;
で、
>>617 と併せて、最大である256要素までおっけーな変換関数ということで。
Excludeで必要なとこだけ消しているのが一応ポイントかなあ…
Delフサギコさんのは、いきなりset 0..63固定で空集合を代入しているので、
サイズが異なる変数を渡していると上手くいかないのだと思います。
…正直、Int64にこだわっている辺り、「人のいうこと聞いてねー」思いますた
ついでに、GetEnumName/GetEnumValueがChar/WideCharに対応していないことを発見しました。 tkChar/tkWCharの処理を書き足すだけなのに…
もうひとつ追記(汗
>>617 のコードでは、最小値が8以降の集合で誤動作します。
MとByteValueを撤廃し、要素の判定を「if I in TMaxSet(Value) then 〜」に置き換えて下さい。
>>668 コードでこんなんしたら、
Enums01A := [0, 1, 7];
StrToSet(TypeInfo(TEnumNumber01), '[0,1,7]', Enums01B);
Check(True, Enums01A=Enums01B);
---------------------------
デバッガ例外が発生
---------------------------
プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'Project1.exe' のアドレス 00453714 でアドレス 00000000 に対する読み込み違反がおきました。'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
---------------------------
OK ヘルプ(H)
---------------------------
_____________
∧,,∧∩ /
ミ,,゚Д゚ 彡< 先生!!こんなんでました...!
__ミ ミ ミ \___________________
\,,∪  ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||"
...|| ̄ ̄ ̄ ̄||
_____________
∧,,∧∩ /Delフサギコさんは
ミ,,゚Д゚ 彡< 「人の言うこと聞いてねー」よりむしろ
__ミ ミ ミ \「人の言うことよくわからな」
\,,∪  ̄ ̄ ̄\ になってる、思い素股。
||ヽ|| ̄ ̄ ̄ ̄||"
...|| ̄ ̄ ̄ ̄|| 悪気ないんだけど、理解できないの....(スマンコ
引数に渡すのは集合型の型情報です。 TEnumNumber01とやらがリンク先のものだとしたら、TEnumNumber"s"01の方を渡してみて下さいな
♪ .∧,,∧ ♪
>>673 のヒントでできました!
,ミ,,゚Д゚ミ. ♪
ミ,,つ[|lllll]). ありがとうです。
〜 ミ,, ,,,..ミ
∪ ∪ 集合型の基本形ってこんなして求めるんですね。
>617のコードでは、最小値が8以降の集合で誤動作します。
ってのは、わからないです。
基本形の最小値が8以下ってことでしょうか?
(調べてみまする
>>617 を以下のようにしてみました、 ミ゚Д゚,,彡
function SetToString(Info: PTypeInfo; const Value;
Brackets: Boolean = True): string;
type TMaxSet = set of Byte;
var
ElemTypeInfo: PTypeInfo;
ElemTypeData: PTypeData;
I: Integer;
begin
Result := '';
ElemTypeInfo := GetTypeData(Info)^.CompType^;
ElemTypeData := GetTypeData(ElemTypeInfo);
for I := ElemTypeData.MinValue to ElemTypeData.MaxValue do
begin
if I in TMaxSet(Value) then
begin
if Result <> '' then
Result := Result + ',';
Result := Result + GetEnumName(ElemTypeInfo, I);
end;
end;
if Brackets then
Result := '[' + Result + ']';
end;
これで動作していますが
無理やり、集合型に範囲外の値を代入した場合
たとえば以下のように。
type
TMyEnum = (mrOne, mrTwo, mrThree, mrFour);
TMyEnums = set of TMyEnum;
Include(MyEnums, TMyEnum(5));
Check( '[]', SetToString(TypeInfo(TMyEnums), MyEnums) );
このとき、SetToStringの関数内部でEConvertErrorを発生させたいと
思っているのですが、どうやったら、できるですか?
SetToStringに入る直前でヲッチ窓でみると
MyEnums: [(範囲を超えています) 5]
こんな表示がされているので、変な値が入っていることは
確認できるのですが。
ミ,,゚Д゚ミつ SetToStringに問題があるのではなくて 無理やり代入できるIncludeの仕様がおかしいと 気が付きますた。 Includeは Set := Set + [これ,あれ] より高速っていうのは、ある意味罠かもですのね。 ということで、 ∧,,∧ ありがdございますた ,ミ。_。ミ 感謝感謝. ミ∪ ∪
そう言えばDelphi6からEnum = (e0 = 0, e9 = 9);みたいな宣言が可能になった筈。 この中間の無名の値はGetEnumNameでどう処理されるのだろう…と試してみたのですが。 型情報を持っていないといわれて撃沈しました。
>>676 それは無理やり代入する方が悪いだろう。
Includeは単に
MyEnums or (1 shl ord(5))
に置き換わるから高速なわけで
必要なら TMyEnum(5)で例外を出せば良いのでは?
∧,,∧ ミ 彡 それにしても話題ないなあ... (o ミ ミ ν ミ AcidFloorも閑散としすぎてるっす.... ∪ ∪
Delphi-ML とかしか見ていないと閑散としていると思うかもしれませんが、 US の Newsgroups とかだと活発ですよ。 Public Beta がいくつも出ているし。 思うに今後は ServicePack のでる回数は減っていくのではないかと。
>>680 なんだか意味が分からんな。
>>US の Newsgroups とかだと活発ですよ。
以前より活発かよ?
ServicePack がなんの関係あるん?
ML が閑散としているのは事実。初心者が投稿できる雰囲気ではないから。
>>680 >US の Newsgroups とかだと活発ですよ。
これを読むとどんな厨房質問にもそれなりの回答がつくんだよね。
「過去ログみれ」という門前払いはないよ。
結局、初心者が初心者的質問をできないような ML は過去ログの
遺産だけを残して先細りになる。そうそう、目新しい質問があるわけでは
ないし。
683 :
デフォルトの名無しさん :02/07/17 06:34
p-chan ?
684 :
デフォルトの名無しさん :02/07/17 08:22
データの管理方法について悩んでいます 1) データ本体(実体)があり、 2) それを参照しているリストは複数個ある (List1, List2, List3, ...) 3) あるリスト List からデータを削除した場合に、他のリストの 該当データも削除又は無効にしたい 4) ところが、これを以下のように書くと、大変時間がかかってしまう procedure Remove(Data:TData); begin List1.Remove(Data); List2.Remove(Data); List3.Remove(Data); .... ListN.Remove(Data); Data.Free; end; ↑のようにすると、データ数が多くなった場合に処理時間が かかってしょうがないのです 最初は以下のようにやっていたのですが、うまく行きません procedure Remove(Data:TData); begin Data.Free; Data := nil; List1.Pack; List2.Pack; List3.Pack; ... ListN.Pack; end;
>>684 TListはListと名前が付いていますが、リスト構造ではなく、アレイに近いというかアレイそのものなので
途中削除のコストは大きいのです。
削除のコストを減らすには
1、削除せずに nil を削除マークとして書く方式にする
2、TListを使わずに自前のリスト型コンテナを作る
作っているのはツリー構造のリストで、ファイル構造にたとえて言うと TDirectory Files: 自分が含むファイルのリスト Directories: 自分が含むディレクトリのリスト AllFiles: サブディレクトリも含め、自分以下に存在するすべてのファイルのリスト(これが問題) ようなデータ構造です。で、自分が今作っているものは ファイル構造でたとえれば 「複数のディレクトリが、まったく同一のファイルを持つ事もある」 ような構造なのです
>>682 NGとMLを混同しちゃだめ。
(それにしても日本のNGの放置プレイはいつまで続くのか・・・
OhNoさん、Next Engineerに記事かいてばかりいないでたまには顔だしてよ。)
混同、って? 入れ物が違うと中身も変わるの? 日本で NewsGroup がはやらないのは単に読み書きできる人が少ないからでしょ。 企業では禁止しているところもあるし。
>>686 ∧,,∧
ミ,,゚Д゚ミ
Itemに参照しているListのリストを
もたせておいたりしたらどうでそ。
List.RemoveItem(Item)をすると
Item.Removeが呼ばれて
そいつ自身は
Item.Lists[i].Removeを呼び出してから
Item.Freeしたりするような
そんな感じに実装してみては?
トリプを変えて見ますタ ∧,,∧ ,, ゚Д゚彡 つ TeamBタンはUS系とかお詳しいみたいなので 教えてホスイのですが、 .NET対応の情報とか、D7情報とかは どこかで、漏れ漏れで出てきませんでしょうか? C#の勉強をすればするほど、"よくできてるなー" という印象を受けますですして、 こんなのあったらDelphi売れるかぁ? Borland大丈夫かなあ? Javaだけの下位者になっちまうのかしら。 相変わらずマーケティング下手なのが、とうとう致命傷になるのかな。 と思っていると、夜もぐっすり寝むれないほどに ぐっすりスイミングしてしまいます。 結構、な数のDelヒャイ使いは同じように考えている カモシレナイので 我に情報開示をキボンヌしてます。 某のロードマップがより詳細に尻たいです。 長文スマソ
エディタでhtmlファイルのソースを開いて、 ボタンを押してプレビューとして、そのhtmlを表示したいのですが、 WebBrowserコンポーネントを使ってやるには、 どうすればいいんですか?
694 :
◆tare/k3c :02/07/17 22:59
>>692 いろいろ方法はあると思いますが、とりえあず。
with WebBrowser1 do
begin
OleObject.Document.Write(Memo1.Text);
OleObject.Document.Body.Style.FontSize:=12;
OleObject.Document.Close;
end;
パネルのキャプション、editのtextっていらないと思う…。
「最初から入ってる値は」が抜けた…(^^;。
>>695 いっぱい同じのがあるときの設計時の目印がわりだよ
>>690 >US系とかお詳しいみたい
NDA ってご存知ですよね?NDA を結んでいる。という事実も NDA の対象なので
この手の質問には答えられましぇん。
hoge
Delフサギコ ◆zE1iiRdQ Delフサギコ ◆VzDeLphI この二人の同一性の証明は?
◆zE1iiRdQが証言すればよい。
ミ,,゚Д゚彡面倒だな....トリップ変えます
>>695 Form初期化時に子コンポーネント全検索して
Caption=Name or Text=Name, Lines.Count=1 and Lines[0]=Nameだったら
空文字列代入って処理を書けばよい。
>>704 そんなことするより、素直にコンポーネント継承したほうが早いような...
ちょっとした機能拡張程度で安易にWinControl拡張するのは嫌だね。 いちいち登録しないといけないし、複数の機能追加しようとすると破綻するし。
誰かIDEの小枝まとめてくれよ。
>>703 トリッパーってソフトでトリップ探したら?
とりあえず、6文字していくらいだったらすぐに見つかるよ。
ごめん。すでにさがしていたのね。。
711 :
デフォルトの名無しさん :02/07/18 17:48
diff使え
>>703 新トリップでのレスの中で、旧トリップのキー晒しちゃえば?
旧トリップ使えなくなるけど、同一性証明にはなる。
つーか、どーでもいい気がする<同一証明
,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′,,,,,,,,,,ミ,,゚Д゚彡< トップリ変えたぞゴルァ UU"""" U U \_________
今度Delphi+DB2(Win)の組み合わせで開発するですけど、 この場合DelはProバージョンでいいんですか? ODBCはProにあるみたいだけど、直接アクセスする dbExpressドライバはProにはないみたいですけど。 Proとエンプラの価格が違いすぎるんだよな。。。
_____________ ∧,,∧ / ミ,,゚Д゚彡 < DB2の方がスゲ高なんじゃないんか..... (ミ ミ) \ 〜ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ アマリ シランケド >699 チェッ ツマンナイ というか、USのNGで話題になってることとか 皿してくださるだけでも楽しめるかと....
>>718 3人でやる予定なんで、Pro×3はエンプラ×1より安い。。。
とりあえずDB周りをいじるヤツだけエンプラであとの2人は
Personalでいきます。
お仕事、ですよね? Personal を使うことを公言するのは何かと問題が。 ほんとの仕事であれば企業法人向けディスカウントや製品リースサービスを 考えるべきでしょう。
>Personalでいきます。 ぅおぃ
まちがえました、Proです。 ちらりとボリュームディスカウントとかリースを調べてみたんですが、 数本でこういったサービス受けられるんでしょうか? 大企業が何十本と買うときのサービスのようですが。。。
某の営業部聞けば? そういうための部署なんで別に恥ずかしくないよ。
724 :
デフォルトの名無しさん :02/07/19 16:50
type TMyType = (mtFirst, mtSecond = mtFirst + 1); って構文って気持ち悪いと思いませんか? だって「mtFirst + 1」って、列挙型と整数型を足し算してるんすよ、本来だったら 文法エラーでしょ。 type TMyType = (mtFirst, mtSecond = Ord(mtFirst) + 1); だったらまだガマンできるんだが。 多少ソースが長くなっても硬派な所を貫いて欲しかった… > 某国
>>717 ちゃんと心を入れ替えて
Enterprise版を3本買ってくださいね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ニヤニヤ
( ・∀・)
( ) シゴトニPersonalナンテ ツカッタラ
| 某| アトデ タップリ シボリトルカラナ
(__)_)
PersonalはDBコンポつかえねーだろ。 (CerateObjectで無理やり?)
とりあえずエンプラ×1とPro×2で稟議とおりました。 早速会社に出入りしている業者に注文。 はやく届かないかなー。
728 :
デフォルトの名無しさん :02/07/19 20:16
ちょっとききたいんですが 今、仕事で使用しているのですが、これを使って情報の部分を書く手間を省こうとしています かちゅーしゃで、>>レス番号 と書くと、レスがポップアップしますが これは、どんなコントロールを利用しているのですか? 使用環境はBT4.0+delphi6.0です
_____________ ∧,,∧ / ミ*゚Д゚彡 < 俺もつけてみた。 (ミ ミ) \ 〜ミ 棒 ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ Typeの床では言語処理は行われなさげ、 だから、 Odd(.. ってのは言語処理系として面倒なんじゃないでしょうか? よくわか、ですが、 mtFirstが定数として表されてて mtSecond = mtFirst +1 mtSecond = 1 +1 mtSecond = 2 と認識されてるのでは?
732 :
デフォルトの名無しさん :02/07/19 23:27
aviファイルを扱うにはどのような方法がありますか?
734 :
デフォルトの名無しさん :02/07/19 23:33
>>733 ファイルとして扱いたいのは山々ですが
フォーマットを知らないのですが
736 :
デフォルトの名無しさん :02/07/19 23:38
みんなavifileを使えばいいというだけで 使い方わかんないし、フォーマットしらんし それで困ってるんですけど
738 :
デフォルトの名無しさん :02/07/19 23:44
いや、何言ってるんだか。 736=734だよ。
740 :
デフォルトの名無しさん :02/07/20 06:58
定期age
>>732 aviと一口に言ってもいろいろあるんだよね。
だから、aviをどう扱いたいかいわないと答えようがない。
aviを環境依存で言いから再生するだけするのと、
自力で解析して書き込んだり読み込んだりとじゃ、コーデックの問題もあるし労力がまるで違う。
>>724 厳密には
type TMyType = (
mtFirst,
mtSecond = TMyType(Ord(mtFirst) + 1)
);
では?キモくない?
743 :
デフォルトの名無しさん :02/07/20 10:45
age
>>742 それだと結局、列挙型と整数型の加算をしているような気が。
mtSecond = Ord(mtFirst) + 1
とすれば、少なくとも右辺は整数型同士の加算だから無理が無い、と言いたいんでわ?
745 :
デフォルトの名無しさん :02/07/20 16:01
自分は学生なんですが、夏休みを利用してDelphiをやってみたいななんて思っています。 他の人などからはVBやCをやったらと言われているんですが、本当にそうなんでしょうか? それと、できれば初心者にも最適なDelphiの本を教えてください。 よろしくお願いします。
>>745 CはともかくVBはやめとけ。
言語仕様変すぎ+すでに発売中止。
VB.NETなら勧めるがその場合、C#覚えた方が得だろうしなぁ・・・。
747 :
デフォルトの名無しさん :02/07/20 16:10
Delphiに未来はあるのでしょうか?
>>747 あるとは言わない。
でも、そこで得たエッセンスは他の言語でも役に立つと思う。
DelphiとVBってたいして変わらないでしょ? BasicとPascalの違いだけでしょ? VB.netにはDelphiは太刀打ちできてないよ。 C#とは勝負にすらならない。 何か?
>>749 >DelphiとVBってたいして変わらないでしょ?BasicとPascalの違いだけでしょ?
さようなら。
>>749 BasicとPascalなら勝負は見えてるが・・・。
このスレでBasicはPascalより優れてる!とか叫ぶ奴はいないと思われ。
って言うかBasicで思い出したけど最近HSPスレ見ないね。
>>749 Delphi使ってもVBと同じことしかできないのって、ちょっと悲しいかも、と言ってみるテスト。
C>∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞>BASIC>∞>ObjectPascal 何か?
いかん。トリプった。
>>752 そう?簡単にコンポーネント作れたり他の言語から呼び出せるDLL書けたり。
楽しいけどね。
>>755 VBと同じこと「をやる」のは自由だけど、同じこと「しかできない」のはちょっと、ね。
Delphiって趣味でプログラミングする人が使うんだよ。 VBは大手の馬鹿が使うんだよ。 普通の人はVCを使うんだよ。
夏やね・・・
日曜プログラマーにはDelphiほど相性のいい開発環境はないんじゃないかと。 N88-BASIC はファイル処理で挫折。 C はポインタで挫折 ←なんであんなに難しく書いてあるんだろう・・・ Delphi 萌え
ポインタはCよりDelのほうが難解じゃないか?
>>762 って言うか妙に柔軟性無いのよね。Pascalの。
☆ チン ☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < VCLで正規表現サポートまだ〜? \_/⊂ ⊂_ ) \___________ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | BCBのpcre/regexp ツカワナイデヤリタイノ | Borland | | | JBuilder7SE 返品|/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Cのキャストの (型名)変数名 よりも、Pascalの 型名(変数名) の方が255倍わかりやすいと思うのは漏れだけですか?
最近はDelphiよりC#をやってるけどこれはかなりいいね。 でも考えてみれば俺がC#でやってることってVB.NETでも同じくできるんだよな。 そう考えてみるとDelphiがVB.NETに追いやられてるというのも嘘ではないかも。
独り言?
>>765 Cでできないんだっけか。C++ならどちらでも出来たと思うけど。
まあ、どちらがどうとは思わない。
>>766 C#のいいところはJavaライクな簡潔さと.NETのクラスライブラリの豊富さ+α
VB.NETはVB6と違って、C#にVBの皮をかぶせたようなものだから、
機能的にはVC#と大抵同じことができる(細かくは違うよ)が、
BASICな字面のダサさはどうにもならんな。
個人的な予想では、
VB.NET→VB6をなんとか使ってたところが必死こいて使う。出来上がったものの品質もVB並
C#→そこそこスキルがあれば、.NET中最適な言語として選択。
いままでVBしか使わなかったようなところは、初めからDelphiなんか
眼中にない(選択する能力がないor選択する権限がない)から、
DelphiがVB.NETのせいでどうこう、ということはないだろう。
一度Delphiを知ってしまったらC#はともかくVB.NETをやる気にはならないと思う。
C#を知ったらVB(.NET)なんてやる気にならないでしょ?それと同じ
Delphiは.NETの登場で「豊富なクラスライブラリ」という売りがなくなった。
BorlandがDelphi.NET/7でどんな手を使ってくるのか楽しみ。
単に「.NETアプリ作れます」じゃC#と変わらんしな。
今のところ、.NETランタイムが要らないぐらいしかC#に対するアドバンテージはない。
これだけじゃそんなに長くはもたないだろう。
それよりC#/.NET風な環境を5年以上も前から提供してきたのは驚くべきこと。
>>769 文字列型に数値を代入できるとか、そういうVB.NETの便利さを知ったらC#なんか使う気にもならないよ。
お前ほんとにそう思ってるか?
>>746 レスありがとうございます。WinMeなのでVisual Basic.netはインストールできないんです。
Visual C#も同じですね・・・
となるとDelphiあたりがいいんですかね?
>>770 便利さって・・・それって従来のVBでも出来てた
バグの温床になりやすい仕様じゃん。(; ´Д`)
>>773 ソースはタイプセーフじゃなくても出力されるILはタイプセーフなんだ。
そこがC#よりも進化してるところなんだよ。インテリジェントとでもいうか。
>>772 グダグダ言ってないでPersonalインストールしる!
>>774 お前、マイクロソフトの「インテリジェント」とやらを信じてるの ?
おめでてえな。
Delphiってタイプセーフなコードしか書けないんだろ? ダメじゃん。(藁
>>774 多分煽りだろうがILがタイプセーフかどうかという問題ではない。よく考えてみろ
>>777 Delphi(てかPascal)の型チェックが鬱陶しいと思うのは最初だけ。
慣れれば余計な心配がいらない分、気楽。
>>779 たまに死にたくなるけどねwSocket使うときとか。
爆速コンパイルはC#にゃ真似できまい。 つっても、逆にそれくらいしかメリットないような。便利は便利だが。
速けりゃいいってもんじゃないよ
速さこそ正義!!
というか、コンパイルが速いということはそれだけ何もしてないということ。 .NETの場合はメタデータやILの検証が必要だからね。
俺は気が短いから作るときも作ったコードも早くないと駄目だ!! 料理も中華やイタリアンが好きなんだよ!!
中華やイタリアンは作るの時間かかるよ。後片付けも。
>>784 厨房発見!
Pascalつー言語はコンパイルが早くなるように計画的につくられてるの。
>>787 まーでもVC++よりは最適化は弱いな。
pascalそのものはそういう意図はなかったんだろうと思う たんにTurboPascalを書いた人の腕が良かったのだろう。 その技術を継承可能な範囲で、ObjectPascalを発展させたのだろう
そしてその発展させた人がMSに移ったわけだ。
>>791 >pascalそのものはそういう意図はなかったんだろうと思う
pascalそのものにそういう意図(高速コンパイル)があるんです。
>>793 pascal呼び出し規約は関数側でpush popを行うので・・・な話?
ソース出せばすむ話なんだが。
呼び出し規約っていうかスタックフレームの解放の方法の事? それは pascalには既定されてないと思う 単に 実装がそうであったというだけでは? 現実に Delphiでは Cスタイルも可能だし、それを使ってもコンパイルが遅くなるわけではない。
ttp://www2.odn.ne.jp/~aar72690/ >この新しい言語 Pascal の特徴は、順序立ったプログラミングを要求し、
データ型をプログラミング制御の基盤としていること、
それに、事前に宣言が必要であり、構造化プログラミング技法を要求している、
ということだ。 またこの言語は、プログラミングを教授するクラスで、教材として使うためにも設計されていた。
ここの話を聞いているとDeiphiをやっていいものなのかを迷ってしまいます。 Delphiじゃなくて別の言語を覚えた方がいいんでしょうかね・・・
>>798 VB.NETがいいと思うよ。ユーザー数が一番多いので気軽に質問・相談もできる。
Delphiだと質問しても「過去ログ読め」とか「そんなことも知らないのか?さてはお前ブビ厨だろ。(ゲラ」とか罵倒されるからなあ。
>>798 言語は違えどノウハウは役に立つと思うがね。
>>802 それを言ったらDelphiに限ったことじゃないよ
>>798 覚えるという発想だとVBの方がホントにいいと思うよ
ただし、覚えて作る事が可能な範囲は.狭いし、それに誰でも出来るわけで
面白くないと思うんだが・・・・まあ人それぞれだから
ね。Del厨ってこんな閉鎖的な感じでしょ?
レスありがとうございます。 VB.NETならいいがVB6はよくないということを上の方で言われたんです。 うちのOSはWinMEなので.NET入れられないんです。 そう考えるとやっぱりDelphiがいいんですかね?
>>807 まぁ、ただなんだから試しに使って判断してみれば?と。
アンインストールもちゃんとできますw
>>807 プログラミング以前にまずMeから卒業しようよ。2000かXPに。
>>807 プログラミングの勉強をしたいなら、Delphiはお勧め。
ただで手に入るし。
VBからCに行くのはハードルが高いが、Delphi→VBは応用が効くし、
Cの知識もある程度身につく。
参考書も種類が少ないから迷わずにすむ。 (w
>>810 >Delphi→VBは応用が効くし、
これに何の意味があるというのだ。
第一比較対象変じゃないか?
VBからCに
Delphi→VB
>>810 ,811
DelphiとVBって似ているんですか?
個人的にもDelphiかVisual Basicがいいかななんて思っていますが・・・
Delphiを覚えると後にどんな言語に応用が利くんでしょうか?
>>812 C C++ Java Perl C# PHP JavaScript etcetc...
>>813 それはどういった理由から? 命令は同じじゃないでしょ。
>>813 そんなに応用幅が広いんですか!?すごいですね〜
質問ばっかりで悪いんですが、Visual Basicを覚えると後にどんな言語に応用が利くんでしょうか?
>>814 ポカ━━━━━(゜д゜)━━━━━━ン
>>814 それを言ったらVBなんかもっと狭いぞw
ObjectPascalは結構高級なオブジェクト指向言語です。
クラスの継承やオーバーライド、オーバーロード(これは違うな)も思いのままです。
よって、その考え方は他のクラス型オブジェクト指向言語に応用(と、言うか適用)できます。
後、Cだけど。個人的にはCとPascalは一部のキーワードが変わっただけでプログラミングスタイル
自体はかなり似ています。まぁ、どちらも同じ親から生まれたので当たり前と言えば当たり前かと。
>>815 VB for Applications
VBScript
以上。
ということは、最初に覚えるなら Delphi>Visual Basic の方が後にも有効って事ですね?
>>820 DelphiとVBは全然違うので応用できません。
>>820 まぁ、厨とか言われるから押しつけないけどさ。
個人的には断然そうかと。
今ではなんやかんやで6〜7言語ほど使えるようになりましたわ。
>>820 って言うかなんでそこまでしてVBをやりたいのか・・・・。
VBの方が良く使われているから
>>821 そうなんですか?
よくDelphiとVB比較している人いるんですが、比較できないんですね。
>>822 6〜7のプログラミング言語を使えるんですか!?すごい・・・
>>823 最初に覚えるんなら簡単なものがいいかなと思ったからです。
求人はVBの方が多いな。
>>824 それもありますね。VBは雑誌も出てましたよね?
>>830 以前もいったんですが、うちのOSはWinMEなので入れられないのです・・・
買うならVB6です。。。
あんまり前のレス読んでないけどC/C++は選択肢にないの?
DelphiとVBは開発スタイルが似ている。 DelphiとCは言語仕様が似ている。 以上、あくまで「その他の言語と比べて」の話ね。 あと、最初にVBを覚えると変なスタイルが身につく(ことがある)のでお勧めしません。 VBはDelphiをやってからでも遅くない。
>>830 6月いっぱいで旧VBは死んだんじゃ?
>>833 >VBはDelphiをやってからでも遅くない。
耐えられないだろうなぁ・・・。
>耐えられないだろうなぁ・・・。 必要悪を受け入れる柔軟さが身につくよね(w
>>833 変なスタイルって具体的にどんなこと? Delphiなら大丈夫なの?
>>832 C/C++は難しそうですし、最初はDeiphiやVBがいいというのを聞いたような・・・
>>833 やっぱりDelphiですかね。VBは選択肢から外そうとと思います。
ちなみにDelphiで初心者でもわかりやすい本ってありませんかね?
>>836 簡単に言うと隠匿されてるところが多い。
どっから出てきたこのコントロールとか。
後、hwnd取得するにも一苦労だったり。
いやあ、アホがいっぱい釣れるなあ。(w
>>838 具体的じゃないなぁ。濡れ衣の可能性も・・・。
>>841 まぁ。昔Del3にするかVB5にするかで悩んだときの判断材料だけどね。
VB使いの人俺の誤解を解いてくださいな。
Delphi Personalはやめた方がいいです。 商用アプリ開発に使えません。 商用のものなんか作らないよと油断してはいけません。 ライセンス条項の穴を突いてBorlandが警告のメールを出してきます。 警告を受けた場合、ペナルティとしてEnterprose版を強制購入させられます。
>>843 今からプログラミングを勉強しようって奴が商用アプリ云々が関係あるとでも?
作りたくなったらProでも買えばいい。
煽りにしても機械的すぎる。後、個人ユーザか企業ユーザか判断してから煽ってくださいな。
845 :
745◇Pouk254 :02/07/21 17:56
>>839 あなた誰ですか?
勝手に745を語らないでください。
Delphiやります!
いろいろ考えた結果、VB6にすることにしますた。
>>846 まぁ、自分で判断したんだからいいか。
がんばれよ。
>>846 まぁどうぞご自由に・・・
とりあえず、この休みはDelphiをやりたいと思います。
みなさんお騒がせしました。ありがとうございました。
またこのスレに来るかも知れませんが、よろしくお願いします。
STLのvectorの代用になる、マクロベースのテクニックってあったよね。 記事へのリンクをロストしたんで誰か知ってたらきぼんぬ。
>>832 C/C++が難しいから別のから
って結局遠回りな気がするんだよな…。
変に先入観持たずにやれば、なんてことないと思うんだけど。
って友達にも同じ事言ったけど結局そいつはVB買っちゃった(w
>>852 C/C++が難しいと思うのは先入観なんでしょうかね?
変な質問ですが、なぜみなさんはDephiをやろうと思ったんですか?
トリップもどき付けてるのが本物?
>>855 私が本物なんです。
トリップってどうやってつけるんですか?
745#適当な文字列
>>854 1)BCBが重かった。
2)BCBよりもDelphiの方が商品として寿命が長そうだった。
3)BCBでのVCLサポートはいつもDelphiに遅れていた。
つーわけでBCBへの不満の裏返し。
言語としての寿命や特徴は考慮しなかったんだね・・・
>>854 マジレスするとね、今Delphi始めても次の次のバージョンですべて知識が無駄になるよ。
VB.NETやった方がいいって。WinMeだっていうなら、Delphiよりもまず新しいOS買いなよ。
>>860 VB.NET勧めるくらいならC#を勧めるべきかと。
>>859 BCBのC++は変則バージョンだからな。
C++の寿命とBCBの寿命は全く一致しない。
言語の特徴はまあ仕方ないのないことだから。
客先に入れるのにはDelphiの方が相対的に安心できる。
>>862 > BCBのC++は変則バージョンだからな。
変則的に使うこともできる。じゃないの?
C++からPascalのライブラリが呼べる時点で変と言えば変。
>>863 VCLを使わないんならそれは正しいが、それじゃBCBを使う意味がない。
VCLのプロパティ、イベントなどがその変則部分で実装されてる。
VCL周りじゃ多重継承もできないし仮想コンストラクタなんてのもある。
>>860 OSを買うお金がないです・・・ 高いですからね・・・
でもなんで次々バージョンで無駄になるんですか?
>>863 すくなくともVCLを使うと変則的に使うしかなくなる。
>>866 Delphiのクラスライブラリが廃止されてMSのクラスライブラリに統一されるから。
>>866 VBがVB.Netで互換がなくなったようにDelphiも7の次は.Netに移行します。
でも、元々まともなオブジェクト指向だったので言語的な変更は少ないであろう。
問題はライブラリ。まぁ、どうせライブラリなんて2,3知ってないと使い物に鳴らんし。
>>870 Delphi.NETのクラスライブラリって互換性維持のためのVCLぐらいでしょ。
>>843 お前、ライセンス読んでないだろ。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ニヤニヤ
( ・∀・)
( )
| 某|
(__)_)
873 :
デフォルトの名無しさん :02/07/21 19:12
∧ ∧ ┌───────── ( ´ー`) < シラネーヨ \ < └───/|──── \.\______// \ / ∪∪ ̄∪∪
/ ‖ / ∧,,∧ < みんな、たのしそうだな。 二二二二ミ,,゚Д゚彡 \ ミつ/\ヘ  ̄ _∬__ ̄ / //  ̄\ &____ノ \// \ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`)< Delフサギコはこのスレを裏切ったモナー ( ) \_____ | | | (__)_)
>>872 突っ込むとこは、そこじゃなくて "Enterprose版" じゃねーのか。
>>876 突っ込むも何もご購入いただくのは
Enterprise版じゃなくてProfessional版だからな。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ニヤニヤ
( ・∀・)
( ) モチロン Enterpriseカッテクレレバ
| 某| ナオヨシダケドナ
(__)_)
879 :
デフォルトの名無しさん :02/07/21 19:57
コンポーネントをインストールしたのですが、コンポーネントタブに追加(表示)されていません。 コンパイルのときはエラーなどはでませんでした。 パレットの設定を見てもインストールされていません。どうすればいいのですか?
>>879 当社のBronzeSupportのご利用を
お勧めいたします。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ニヤニヤ
( ・∀・)
( ) 1インシデント30000エンナ
| 某|
(__)_)
某ってM$より汚い会社だね
>>879 procedure Register;
begin
RegisterComponents('ここ', [あれ]);
end;
の部分がソースにある?
883 :
デフォルトの名無しさん :02/07/22 07:59
C,C++,JAVA>>>>>>>>>>Delphi  ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ニヤニヤ ( ・∀・) ( ) | 某| (__)_)
ネタはマ板でやってくれ、たのむから。 相談室として機能してないじゃん
そんなもんさ。
>>884 ここは相談室じゃないよ。タイトルよく見て。
887 :
デフォルトの名無しさん :02/07/22 11:52
>>882 procedure register;
begin
RegisterComponents('samples',[TFileRes]);
end;
というのがあります。
じゃあ、サンプルページにあるんじゃないの?エラーが無ければ。
889 :
デフォルトの名無しさん :02/07/22 12:17
サンプルのところにも見当たりません。 あと、書き忘れていたのですが、Delphi6を使っているので uses 節 の "DsgnIntf" を "DesignIntf,DesignEditors" に変更しました。
>>887 試してみたよ。 確かに D6でパレットに出なかったね
でも
1,TFileRes -> TFileDFM と名前を変えた
2,//uses DsgnIntf ,DesignEditors; とコメントアウト
3,RegisterComponents('Samples', [TFileDFM]);
と Samplesにした。 また、 余分な空白を消した
と書き換えていったらいつの間にか登録出来た。
元に戻しても登録出来てる様子・・・・変だね。
891 :
デフォルトの名無しさん :02/07/22 13:45
>>890 試してみたけどダメでした。。。
もう諦めます。ご迷惑おかけしました。
判った! × procedure register; ○ procedure Register; なぜか、Register手続きだけは先頭大文字にしないとだめみたいだ!
893 :
デフォルトの名無しさん :02/07/22 14:16
>>892 おお!できました!!
ありがとうございます。マジ感激です。
CLXの影響か?
もしかして、次くらいのバージョンでは 識別子に 大文字 小文字区別されるのかなあ・・・・・ .NET対応だとついでに識別子に日本語が使えたりして
>>892 Register の R を大文字にしなくてはいけないのは C++Builder との整合性を取るためです。
Delphi 4 からこうなりました。
# 早く言えって? ゴメン、ついさっきこのスレッド見たので。
897 :
デフォルトの名無しさん :02/07/22 17:39
Delphiにはファイルの作成日時を取得する関数ってないんですか? FileAgeで取得されるのは更新日時のようなんです・・・
たった今気付いた衝撃の真実。 Del6ProってリモートデバッグねーYO!
FindFirstFile
>>898 使わない機能イランだろ。
たった今まで気づかないくらいの機能だろ。
>>900 Delphiで分散アプリ作るヤシはいないと?
902 :
デフォルトの名無しさん :02/07/22 21:41
Delphiマンセー
906 :
デフォルトの名無しさん :02/07/25 14:37
只今1000取り放題!
ここ1000まで行くだろか。
908 :
1000取り合戦実施中 :02/07/25 17:51
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,,、,、,,, / \〇ノゝ∩ < 残りあとわずかのフサDelスレ!頑張って1000取るぞ! /三√ ゚Д゚) / \____________ ,,、,、,,, /三/| ゚U゚|\ ,,、,、,,, ,,、,、,,, ,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/ //三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ∪ ∪ ( ) ( ) ( ) ) ,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧ ,,、,、,,, ( ) ( )
おまえらヤメレ。 909
そーだそーだ。910
そろそろ出番かい?
>>911 キミ 激笑とかの人? ならあと50くらいいきそうな煽りネタ巻いてみて
Delphiってなんでクラスの宣言部と実装部を分けなければならないのでしょうか? ただの二度手間です。何のメリットもありません。
ちなみにVB.NETではコードを折りたたむことができます。 クラスの宣言部だけを表示することも簡単にできます。 優秀なIDEとはこういうものを指すと思います。 DelphiのIDEでは物足りなさを感じます。
Delphiのインターフェイスって中途半端ですね。 何とも奇妙な仕様です。 どうしてVBのインターフェイスみたいにまともなものにできなかったのでしょうか。
CLXはクロスプラットフォームだとは言いますが、 それは単にQtの功績であってCLXには何の手柄もないと思うのがどうでしょう?
さあ、Del厨の反論を待とう。 単なる煽りじゃなくてそこそこいいところを突いてると思う。
>913 VB6/VB.NET/C#ってなんで全ての宣言の前にpublic/privateを書かないといけないのでしょうか。 自動補完対象とはいえ繁雑です。読む時桁が揃わなくて邪魔なだけです。 C++やObjectPascalはスマートですね。 >914 ウェーン、ママァ、一行と思って消したら実は数千行のロジックだったんだって〜 先輩に殴られたぁ〜イタイヨー ( Delphi.NETのIDEは全書き直しで、VS.NETみたいにマルチ言語対応らしいので少しだけ期待 ) >915 VBの文字列って、Unicodeのくせに自動でSJISに変換されてしまったり、それを回避するのが手間だったり 行き当りばったりな仕様ですね。 どうしてDelphiの文字列みたいに素直にAnsi/Wideに分けなかったのでしょうか。 ( DelphiのインターフェースはCOMの仕様をまんまさらけ出してるだけだからなあ… ) >916 QtはFreeBSDやMac版もあるのでそのうちCLXもそれらで動いてくれることでしょう、 と、開き直ってみるテスト …こんなとこ?(難しい…
反論も何も単に開発環境・言語仕様が古びてるだけだろ。 まあDelphi7を待ちたまえ。それで駄目ならもうおしまいだな。
>>919 >VB6/VB.NET/C#ってなんで全ての宣言の前にpublic/privateを書かないといけないのでしょうか。
>自動補完対象とはいえ繁雑です。読む時桁が揃わなくて邪魔なだけです。
スコープごとにまとめて記述するほうがむしろ不自然。
private FCount: Integer;
private procedure SetCount(Value: Integer);
begin
FCount := Value;
end;
public property Count: Integer read FCount write SetCount;
のように関連するコードを一箇所に記述できた方が
格段に可読性・保守性が向上する。
唯一の欠点はそのクラスのインターフェースが掴みにくい事だけど
それはクラスブラウザとJavaDocライクなドキュメンテーションツールで
十分にカバーできる。
つかスレ違い。
>>919 >読む時桁が揃わなくて邪魔なだけです。
Tabキーを入れてみては?
>>919 >ウェーン、ママァ、一行と思って消したら実は数千行のロジックだったんだって〜
メ○ラでもない限り見間違うことはないでしょう。
>>919 >VBの文字列って、Unicodeのくせに自動でSJISに変換されてしまったり、それを回避するのが手間だったり
>行き当りばったりな仕様ですね。
それはVB6の仕様。VB.NETはそんなことは起きない。
所詮Pascalは教育用言語です、素直にC/C++を使いましょう。
926 :
デフォルトの名無しさん :02/07/25 22:43
自作ブラウザにて書き込みテスト
C/C++やってたけどなぜかDelphi使ってます。楽だし。
DelphiやってたけどなぜかC#使ってます。楽だし。
DelphiやってたけどなぜかVB.NET使ってます。楽だし。
ん〜なぜかC#には食指が動かんなあ、なんかJavaと同じイメージ があるんだよねー。
>>931 間違ってないかと。
それがVB.NETに行く理由なら笑えるが。
某がC#のオープン版開発環境出してくれたら使ってもいいかな?
VB.NETはVBに悪いイメージしかないので使いたくないなあ。 正直名前変えてほしかったよ。
VB.NET使っていて川俣のデブにでかい面されるのも癪だしね。 行くんだったらC#行くよ。
MS製品はバージョン3からだなぁ
いや、正確にはVer3のSP1以降。
上手にネタを返すのって難しいなあと実感。
先生! C++Builderの文字列はChar[]とstringとAnsiStringとWideStringと豪華4種類もあって大変です!
ん?DelphiにもあとShortStringとarray[] of charがあるけど? でもCOM使うときWideString使うぐらいで通常Stringだけで いいんじゃない?
>>939 wstringは?wchar_tは?とか言ってみるテスト
>>939 ShortStringもあるみたいだぞ
・゚・(ノД`)・゚・。
>>939 を責めないで・・・
Charとか書いてるけど責めないで・・・
Linuxは漢字コードだけでもSJIS,EUC,UNICODEとあるけど KylixはAnsiStringとWideStringだけでいいんだっけ?
946 :
デフォルトの名無しさん :02/07/25 23:25
ガンガレオマエラ アトスコシデ1000ダゾ
>>945 つーか、D7でUNICODE対応してくれるんだろうか、そろそろ限界ぽい
KylixではAnsiString = EUCじゃ無かったかな? 実はUTF8Stringなんてのも定義されていたり
949 :
デフォルトの名無しさん :02/07/25 23:29
>>947 それはVCLの話でしょ?
CLXで対応してるから既に対応済みで許してくれない?
Kylix3からObject Pascalという呼び方を捨てて
Delphi Languageと呼ぶらしいけどあんまり緩い言語使用に
して欲しくないなあ・・
>>947 デフォでUNICODEはかんべんな。せめて環境オプションで選べる
ようにして欲しい。
(もしかして950ゲット?)
×言語使用 ○言語仕様 IME2000のヴァカ。
>>950 Delphi Lang. より Object Pascalの方がまだマシな気がするなぁ、
なんか、独自仕様爆走っぽくて嫌だなぁ・・・。
しかし なぜUNICODEかんべんなの?
EditとかUNICODE使えないでしょ、だからプロパティで設定できる
ようにすりゃいいだけだと思うけど。
Turbo Pascalは確かに Pascalだったけど、Delphiになってからは製品名からもPascalの 文字が消えてた死ね。
ごめん、死ななくていいです。(藁
955 :
デフォルトの名無しさん :02/07/25 23:43
v (゚ω゚) <そろそろ出番の臭いがしてきた! /( )\ /'\
Delphi IN A NUTSHELLではDelphi Pascalと呼ばれてましたね。 Delphi Languageは僕も嫌だ。 オリジナルのObject Pascal(Macの?)からかけ離れてきているのはわかるが、 まだPascal互換ではあるのだから、Delphi Pascalでいいと思う。
>>957 > 単にVBで嫌な目に遭ってるだけだからなんだが・・・
その意味じゃ、後出しなんだからDelphiは上手くやってくれると期待したい。
取りあえず今のままじゃDB関連で苦しすぎる、DBに強いって云いつつも
表示や入力できない文字があっちゃマズイっしょ。
959 :
デフォルトの名無しさん :02/07/26 00:04
ML見てたら誰か書いてたけど、結局Kylix3はgcc対応じゃないの? つーか、Kylix3 for Delphiとか Kylix3 for CB になるわけ?統合されて1本になる んじゃなかったの?
>>960 Windows版も将来1本になるんだろうか・・・。
激しく期待してしまう。
製品を1本化 → 半年に一度バージョンアップ → (゚д゚)ウマー
>>962 そ、そんなことはありませんよ‥‥
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧
(; ・∀・)
( ) チッ‥‥
| 某|
(__)_)
Windows版は単体でもまだ十分闘えると思う。 だが最上位エディションは有り得るな。
うむ・・・ しかし、KylixとDelphiやBCBに加えて.NETが別製品だったらひいちゃいますけど。 いっそ、JB以外は1つの製品にして欲しいよ!
Enterprise Studio for Windowsがそうなるんじゃないかって 気がする。
でもDelphi.NET対応が来年の末でしょ? 十分戦えるって言ってられるでしょうか・・・。 「もーだめぽ」まで逝かないにしても、苦しくなるんじゃないかな。 某環境って VS.NETと比較するとコスト的に結構不利なんですよね。 もっともこれは、商用に限っての話ですが、パソにはVCL等のソースが 付いてませんし、趣味でも本気で使うにはちょい辛い。
969 :
デフォルトの名無しさん :02/07/26 00:36
オマエラ、 Kylix3は C++版であってPascal版のKylix2とは別物なんだよ、知らないの? BCBでPascalのVCLが動いてるのと同じレベルなんだけど
というか、Pro版にEnt版の機能をアドオン出来る 販売形式を作ってもらう方が俺的にはいいけど。 会社だとワンパックの方がお得なんだろうけどな。
VS.NETみたいにエントリー版以外は統合するんじゃない? Delphi + BCB + JBuilder + Kylix でエンプラ版お得な100万円 ↓ 半年に一度バージョンアップ ↓ (゚д゚)ウマー
>半年に一度バージョンアップ プログラマ氏ぬな。 (もしかして某も中国人やインド人使ってるのか?いや、そんなはずは・・・)
>>975 あなた、わたしたちかいしゃ、中国人なんてつかてないですよー。
そうアルよ ちゅうこくちんなんて、いないアルよ
>>975 >>976 は米国から来たので日本語が苦手です。
すみませんね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧
(; ・∀・)
( )
>>977 ハ 弊社ノジュウギョウインデハ
| 某| ゴザイマセンノデ‥
(__)_)
俺日本人だけど、ウリの会社には中国人はいないニダ
イースターエッグのスタッフロールが全部中国人名になってたら どうしよう・・・
秋葉の路地裏で中国人から安く買えるよ、たぶん。 Ent版もVS.NETも全部入って\1,000-とかで。
982 :
◆tare/k3c :02/07/26 01:28
.NETって初物買いなんでしょ? これが標準になるにはまだだいぶ時間かかりそうだし。 Frameworkのインストール=VBランタイムのインストールに似ていて すごく抵抗あるんだけどなぁ。 ネイティブな実行ファイル作れるDelphiに惹かれた自分としては 受け入れづらい…
>>982 >Frameworkのインストール=VBランタイムのインストールに似ていて
>すごく抵抗あるんだけどなぁ。
じゃあVC++も却下だな。
984 :
デフォルトの名無しさん :02/07/26 01:42
>>983 それに必要なのはランタイム形式じゃないでしょ…
ランタイムよりはるかに嫌だよ JavaVM 入れるようなもん
DLL Hell
990
パッキューンッキューンッ \△/ ● ε=ε= □へ ノ
.∧ ∧∧ ∧ )) (( (゚Д゚ ≡ ゚Д゚) ニャーニャー ⊂⊂≡⊃⊃ オ と,, ≡,,づ オ ロ し^ J ロ
____ | ┐‐ | | | - | |  ̄| ̄U ̄ | |〜 U"U
__ l⊆⊇`ヽ ≡ ヤホーイ (´D`Lノ ≡ m=○=mノ) ≡ _/_/(「_ノニコ ≡ ( (0)=(__)0) ≡(´⌒(´⌒;;
∧ ∧∧ ∧ (゚Д゚≡゚Д゚) |し |つ ⊂__ | し'
/⌒ヽ / ´_ゝ`) | / | /| | // | | U .U
〈削除依頼は?〉
〔駄目です。無視されています。
しかし
>>1 君!ああしなければ、他のみんながやられていたぞ!〕
「それ以上煽って僕を怒らせないでよ。
僕に残されている後185串。
これだけあればこの板の半分は壊せるよ。」
『今の彼ならやりかねませんね。』
【聞いて!
>>1 君!煽りさんたちの判断がなければあなたは通報されてたかもしれないのよ!?】
「そんなの関係ないよ!
煽りは・・・僕の質問を壊そうとしたんだ!!
この僕の手で・・・。
煽り!そこにいるんだろ?何か言ってよ!答えてよ!!」
《空白レス書き込み速度を連続投稿限界まで上げろ。》
【え!?】
《厨房のだだにつきあってる暇はない。》
「まだクッキーが残っ・・・ごはぁ!畜生・・・畜生・・・畜生・・・。」
>>989
∧_∧ ニヤニヤ ( ・∀・) ( ) | 某| (__)_)
,,,,,,,,,,,,,,,∧,,∧ 〜′,,,,,,,,,,ミ,,゚Д゚彡 UU"""" U U
( ( (. ) . -‐ ) ‐- . .´,.::::;;:... . . _ `. i ヾ:;_ `_,.ン| l  ̄ ̄...:;:彡| } . . ...::::;:;;;;;彡{ _∧ i . . ...:::;;;;;彡|・ω・`)お茶を飲んで、落ち着いてね。。。 } . .....:::;::;:;;;;彡{ /U !, . .:.::;:;;;彡j | ト , . ..,:;:;:=:彳 ∪ ヽ、.. ....::::;;;ジ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。