[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 07/05 09:41 / Filesize : 151 KB / Number-of Response : 533
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その48



1 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:50:40 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その47
pc11.2ch.net/test/read.cgi/tech/1214292265/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

137 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 10:45:02 ]
TurboDelphiExplorerがあるじゃない

138 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:43:20 ]
>>137
Turboは、.net1.1に依存してるのと、
コンポが使えないのがネック。
商用不可でいいから6Personalみたいな形で
だしてほすい


139 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:57:36 ]
www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3

上記サイトのDelphiラッパーを使おうと思い、まず同梱のTestSqlite.dprを実行させようとしたところ
エラーが出てコンパイルできませんでした。どこを修正するといいのでしょうか?

[エラー] SQLiteTable3.pas(470): 'TSQLite3Destructor' と 'Pointer' には互換性がありません
[エラー] SQLiteTable3.pas(627): 'TSQLite3Destructor' と 'Pointer' には互換性がありません
[エラー] SQLiteTable3.pas(787): 'TCollateXCompare' と 'Pointer' には互換性がありません
[致命的エラー] uTestSqlite.pas(7): 'SQLiteTable3.pas' ユニットはコンパイルできませんでした

140 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:39:40 ]
>>139
問題無くコンパイル出来た@Del6

141 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:47:12 ]
>132
シェアを広げることが(企業としての)利益を増やす、ということに繋がるのかどうか、が問題みたいですね。
これをCodeGearの人たちに納得させられればいいのですが。
Borlandから独立することによってBorland(ALM/Together)の連中がやっていたIDEの安売り、投げ売りから
解放されて自分たちの技術、製品が正当な利益、正当な評価を生み出すことを実感している、という
現状からすると、しばらくの間は難しいんじゃなかろか、というのが個人的な意見です。

142 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:00:15 ]
某もたいして安くなかったのにね
マイナー言語のくせに偉そうだな

143 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:16:34 ]
>解放されて自分たちの技術、製品が正当な利益、正当な評価を生み出すことを実感している、という
>現状からすると、

ソースぷりーず

144 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:19:11 ]
>自分たちの技術、製品が正当な利益、正当な評価を生み出すことを実感している、

糞ヘルプ、バグだらけの正当な評価だろうけどな。

145 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:20:09 ]
起きたらオッチャスレ落ちてたんだけど誰か立てないのか



146 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:53:31 ]
>143
forum(private含む)でのCodeGear関係者の発言からはそう読めるけどね。ディスカウントとか無料とか
なんでそんなことしなきゃいけないの?利益に貢献するの?ってな感じ。
ソースは脳内なので当たっていないと思うなら無視してくれて構わないよ。

>142
Personal/Turbo Explorerはただでこれ以上安くできないけど?バージョンアップとかも新規に比べりゃ
安いもんだったしな。でも今はマイナーだからこそ稼がないと消滅しちゃうわけで。MSみたいに
ボッタクリ部門があるわけじゃないからな。

>145
あら、ほんとだ。

147 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:59:20 ]
pc11.2ch.net/test/read.cgi/db/1220581676/100

100 名前:NAME IS NULL[sage] 投稿日:2008/11/16(日) 12:56:23 ID:???
www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3

上記サイトのDelphiラッパーを使おうと思い、まず同梱のTestSqlite.dprを実行させようとしたところ
エラーが出てコンパイルできませんでした。どこを修正するといいのでしょうか?

[エラー] SQLiteTable3.pas(470): 'TSQLite3Destructor' と 'Pointer' には互換性がありません
[エラー] SQLiteTable3.pas(627): 'TSQLite3Destructor' と 'Pointer' には互換性がありません
[エラー] SQLiteTable3.pas(787): 'TCollateXCompare' と 'Pointer' には互換性がありません
[致命的エラー] uTestSqlite.pas(7): 'SQLiteTable3.pas' ユニットはコンパイルできませんでした

148 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/16(日) 18:09:10 ]
>>138
データベース(に接続して読み書きする機能)で差を付けられなくなってしまった現在では
有料版とどこかで差別化しなければならなかったわけで落としどころとしては悪くないと思います。

またコンポは設計時に貼り付けられないだけで実行時にコードで生成することはできますので
私はここ1〜2年はこれで頑張っています。

フレームを積極的に使い始めたためか標準でないビジュアルコンポーネントをポトベタしたくなる場面が
かなり減ったのでそんなには困っていませんがさすがにそろそろポトベタできる有料版が欲しいです…


149 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 18:11:08 ]
俺の不満はDelphiのシェア低いから使えるライブラリの種類少ないことだな。
Delphiのクラスライブラリが.NET並とはいかないまでも、もっとリッチならまぁ気にならないが。
正規表現にしてもDelphiのVCLに標準で用意されていないし。まぁ、PCREや鬼車使えるけど、
アプリに静的リンクしようとかなるとたちまち、メンドくさいし。
前はDelphiで構文解析やろうとして、Delphiのソース吐くやつが余りないから、
C#のコードを吐くパーサジェネレータをDelphiのコードを吐くように改造したり。
めんどくせぇ。






150 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 18:19:07 ]
隔離スレに帰れ

151 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:07:36 ]
まじでめんどくさいぉ。


152 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:15:48 ]
オッチャなくなったので、こちらで活動開始。

オッチャすれ アンチ対策テンプレ v1.0(案)
(p)codegearwatcher.web.fc2.com/faq/anti.html

> オッチャすれ アンチ対策テンプレ v1.0(案)
> 以下はオッチャすれに出没する、アンチの持ちネタです。
> これらのネタは、4年以上にわたる不毛な議論と逆予言により終息しています。
> しかしアンチは自作自演を交えつつ、無限ループを続けています。
>
> このスレでアンチを見かけた場合は、このテンプレを提示しましょう。


153 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:46:51 ]
マンセがうるさいので、これからここに質問に来た初心者をけなしてDelphiユーザーの
妨害活動をしますのでよろしく。


154 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:01:33 ]
>>152 はまんせじゃなくて最凶アンチ。きもい。

155 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:36:45 ]
【Embarcadero】CodeGearオッチャ その13
pc11.2ch.net/test/read.cgi/tech/1226842439/



156 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:00:46 ]
既存のコンポを継承したコンポを使いたいんですけども
どうやって呼び出したらいいんでしょうか?

例えば、TCustomEditを継承したTEditExを作ったんですけども
フォームへの貼り付け方法がわかりません。

環境はTurboDelphi Explorerです。


157 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:11:13 ]
TDEじゃ無理です

158 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:12:03 ]
あ、FormのOnCreateで
EditEx1 := TEditEx.Create(Self);
EditEx1.Parent := Self;
とすれば貼り付けじゃなくてもおk

159 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:57:34 ]
>>158
ぬぉぉぉ
できました。
ありがとうございます!


160 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:24:56 ]
「→」や「→」などを「→」のように文字に変換する方法はありますか?


161 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:29:15 ]
全部同じにしか見えない

162 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:29:28 ]
ミスったorz
「&#8594;」や「&#8594;」などを「→」のように文字に変換する方法はありますか?

163 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:32:26 ]
再び・・
「&#8594;」や「&#rarr;」です

164 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:35:29 ]
「&#8594;」や「&#rarr;」を「 → 」に置き換えればいいんじゃないの?

165 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:39:22 ]
全ての全角文字と記号がこの形式になっているもので・・



166 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:06:06 ]
キーボードが壊れてしまって「あ」が「あ」になってしまうんです。

思い出した。



167 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:19:21 ]
classとinterfaceを継承したclass(例えば TTest = class(TObject, IInterface))があるとき、
自身を、IInterfaceを引数に取る関数に渡す場合はどうすればいいんでしょうか?

168 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:36:48 ]
>>167
Self as IInterfaceとかじゃね?

169 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:39:16 ]
>>168
「この型には指定した演算子は使えません」と出ます

170 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:50:52 ]
>>169
そのままSelfか、IInterface(Self)でどう?

171 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:01:29 ]
>>170
それも無理でした

172 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:50:18 ]
interfaceを使うときは一般的にはTObjectじゃなくTInterfacedObjectから継承する。
そうでなければQueryInterfaceや参照管理を自前できちんと実装しないといけない。
分かってやってるならいいけど。

173 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 04:57:07 ]
あちゃ、本当は class(TObject, IDispatch)ってやってたんですけど、
キャストする時はIInterfaceも追加しないといけないんですね

>>172
tobysoft.net/wiki/index.php?Delphi%2Finterface%A4%F2%BB%C8%A4%AA%A4%A6%2F%C9%AC%BF%DC%A4%CE%A5%B5%A5%DD%A1%BC%A5%C8%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA
のようにやってました
参考にしておきます

174 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:24:35 ]
OSを替えたんでDELPHI6を再インストールしたら
前の使用許諾コードが入らないんです。それで新たに発行してもらおうとしたら
以前に使ってたメアドで登録してたんで、今の使ってるメアドで登録しなおそうと思っても
シリアル発行終了してるんでどうしたら良いのか困ってるんです。
一度は登録済みだから未許諾ままでも良いですかね。
フリーソフトとかで配布したいんですけど

175 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:08:01 ]
ポップアップメニューがポップしてるかという判断ってどうやればいいですか。
ポップしている間にTimerイベントが発生してしまい
ちょっと望ましくない挙動になってしまうのでif文を追加したいのです。



176 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:09:04 ]
HKEY_CURRENT_USER\Software\Borland\Delphi\6.0のLMKEYを前のとあわせたらどうかな
でもバックアップ取ってないよね
まあ登録しようがしまいが構わんさ
それでソフト配ってる奴なんか山のようにいる

177 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 13:09:56 ]
LMKEYじゃなくてLMかも分からんね

178 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 14:52:48 ]
>>175
WM_ENTERMENULOOPでフラグ立ててWM_EXITMENULOOPでフラグ降ろす

179 名前:174 mailto:sage [2008/11/17(月) 14:56:10 ]
>>176 >>177
バックアップのと照らし合わせたら同じでした、と言う事は
インストール番号とキーは今のOSでは使えない(インストールだけは出来る)ので
メールでインストール番号とキーを書いて送って帰ってきた
使用許諾コードも使えないと言う事ですよね、困ったなぁ

>それでソフト配ってる奴なんか山のようにいる
EXEの中に未許諾の情報とか入ってないんですか

180 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 15:02:29 ]
>>179
むむ・・・すまん
じゃあもういっその事レジストリ全部上書きでもいいと思うよw

> EXEの中に未許諾の情報とか入ってないんですか
Kylixにはあると思う(System.pasにそんなことがちらり)けど、Delphiにはないんじゃないかなあ

181 名前:174 mailto:sage [2008/11/17(月) 15:56:17 ]
>>180
上書きは項目が沢山あるんで諦めましたw
情報はDELPHIの方には入って無いんですか、じゃあそのままにしときます。
一応登録する意思はあるんで、出来ないんじゃどうしようも無いですし。
自分せいじゃあ無いんでしょうがないです。
色々ありがとうございます、ちょっと安心しました。

182 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:21:40 ]
OSとか換えなくてもDel6入れ直しただけで前の使用許諾コード使えなくなったな
俺はそのまま赤いまま

183 名前:デフォルトの名無しさん [2008/11/17(月) 19:26:44 ]
Delphiのimplements指令がいまいちわかりません。

下記サイトでサンプルコードがあったのですが、
An Introduction to COM Programming with Delphi (3 / 6)
delphi.about.com/library/weekly/aa120704a.htm

結局、implementsを書いたクラスは一度interfaceにキャストしないと
メソッドよめないんでしょうか?

var
 Test: TTest;
 Foo: IFoo;
begin
 Test := TTest.Create;
 Foo := Test;
 Foo.Bar;  // FooにキャストしないとBarに呼べない


184 名前:デフォルトの名無しさん [2008/11/17(月) 19:27:26 ]
> メソッドよめないんでしょうか?
メソッド呼べないんでしょうか?

185 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:01:50 ]
>>174
登録コードの数字と使用許諾コードがあればレジストリでLMの最後にある数字を
元の登録コードの数字に書き換えれば登録できる



186 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/17(月) 22:04:12 ]
>>162
こんな時こそ正規表現ライブラリを使うべし。
正規表現ライブラリはいろいろありますけど今回はskRegExpで。
日本語のヘルプもあるので比較的使いやすいと思います。

そのものズバリのコードも書いてしまったのですが勉強にならないと思うので
今回は変換したい部分を特定するコードのサンプルだけ。

const
 cSample = 'I want to convert "→" and "&#rarr;" into right arrow!';
var
 exp: TSkRegExp;
 Converted: string;
begin
 Writeln('Sample:"', cSample, '"');
 exp := TSkRegExp.Create;
 try
  exp.Expression := '&#[0-9]+;|&#[A-Za-z]+;'; // 見つけたいパターンは「&#,0から9のどれかが1文字以上,;」または「&#,A〜Zかa〜zが1文字以上,;」
  if exp.Exec(cSample) then // 先頭からパターンに一致するところを探せ.もし見つかったなら…
   repeat
    Writeln('見つけた!: 「', exp.Match[0], '」 ', exp.MatchPos[0], '文字目から', exp.MatchLen[0], '文字分');
   until not exp.ExecNext; // 次を探せ.見つからなかったらループを抜ける.
 finally
  exp.Free;
 end;
end.

>>168-169
as 演算子によるインターフェースへのキャストはGUIDを付けないと使えないみたいです。
でも今回はそれが原因ではない気もします。


187 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:11:12 ]
>>183
TestはあくまでDelphiのオブジェクトなので実装されていない
メソッドが呼べないのは当たり前じゃないでしょうか。

188 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:28:33 ]
>>181
・SerialNumber:インストール番号と
・AuthorizationKey:インストールキーは、そのまま使える
ってか使えるからインスコ出来る訳で

インスコし直し(とかD6RegClean.exe実行)すると
・RegistrationKey:登録コード が変わる

その登録コードで有効な許諾コードを取得
https://reg.codegear.com/srs6/sanctone_serial_number.jsp

メアドはDeveloper Networkのアカウントにログインして変えれば良い

Borlandの時の返信Mailは登録コードも書いてあったけど
Embarcaderoのには書いてない。
念のため事前に数字メモっとかないと。。。

189 名前:デフォルトの名無しさん [2008/11/18(火) 05:07:48 ]
OOPについての基本的な質問なのですが・・・
オブジェクト"objA"からオブジェクト"objB"を生成するとします。

procedure TMain.foo();
begin
 objA := TObjA.create();
 objA.foo();// objBを生成
end;

procedure TObjA.foo();
begin
 objB := TObjB.create();
end;

この場合、objAからobjBにメッセージを送ることはできますが、
その逆(objBからobjAにメッセージを送る)はできないと思います。
(objBは、どのオブジェクトから生成されたか知らないため)

objBが、生成元のオブジェクトobjAにメッセージを送れるようにするには、
どうすればいいでしょうか?

190 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:09:52 ]
コンストラクタで生成元を渡すような仕様にしたらいいんでは?

191 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:16:04 ]
メッセージが何のことやら

192 名前:189 mailto:sage [2008/11/18(火) 05:16:24 ]
>>190
ありがとうございます。

procedure TObjA.foo();
begin
 objB := TObjB.create(self);
end;

などとして、引き回すということですよね?
この方法が一番スマートですかね…?

193 名前:174 mailto:sage [2008/11/18(火) 05:55:54 ]
>>182 >>185 >>188
返事遅れてすいません、>>185 さんの方法で上手く出来ましたw
OSの違いじゃなくて登録コードが合ってなかったんですね。
入力欄に入れようとしても変えられなかったんで関係ないと思ってました。
いや本当に助かりました、これでスッキリとDELPHI6を使い続ける事ができます。
本当にありがとう御座いました。

194 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:36:24 ]
これはいいライブラリになるかも。試してないけど。

309 名前:View ◆AcQTmXmylo [sage] 投稿日:2008/11/18(火) 05:25:01 ID:bqCSxa7a
今回導入した鬼車もオープンソース(BSDライセンス)なので、それに対する貢献はなんだろうと考え、
delphiから鬼車を使うためのラッパークラスTOnigRegExpのソースを公開しました。

ttp://www.geocities.jp/jview2000/oniguruma.html

OnigRegExpは、Km氏が作成したdllラッパーのoniguruma.pas, onig.pasの改造品を
さらにラップしてクラス化したものです。
ttp://homepage2.nifty.com/Km/onig.htm

195 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:39:51 ]
人によってクセがあるので自分で書いたほうが
使い易かったりもするけどね



196 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:55:40 ]
>>189 なんでそんな面倒なことするの? メンバ変数で記録すればいいじゃないか

procedure TMain.foo();
begin
 objA := TObjA.create();
 objA.foo();// objBを生成
end;

↑これobjB作れてないじゃん objAとかobjBは結局ポインタなんだけどわかってる?

197 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 15:50:45 ]
procedure TForm1.Button2Click(Sender: TObject);
var
lp: PChar;
str: String;
ch: Char;
begin
ch := 'A';
str := 'A';
lp := PChar(str);
if lp = ch then begin
Caption := 'equal';
end;
end;

delphi2009だと、lp = chでstring->ShortStringな警告が出るんですが、
そういうものでしょうか?思いっきり、'A'を文字数だと思って比較しています。


198 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 16:33:58 ]
>>196
全部読めよ

199 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 16:36:05 ]
>>197
lp^じゃねぇの?

200 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:35:53 ]
>>199
漏れもそう思ったんだが、両方文字列に変換してから比較るらしい。
D5だとequal言うんよね。

201 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:43:46 ]
あの、流れ無視でごめん。
所でDelphi2009は.Net対応?
みんなは.Netに移行するんですか?Win32維持ですか?
Delphiはその流れに付いて行っているんですか?


202 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:48:36 ]
いまのDel使いは.NETに乗り遅れた人達なんだよ・・

203 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 19:07:13 ]
oniguruma.pasに接頭辞Tで始まるデータタイプを定義してほしい。
もうね、
var
RegExp: OnigRegExp;
Windows.pasも例えばTLogFont = tagLogFont;と別名定義してんだし、
合わせろよ。
と、>>195に同意。


204 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:16:57 ]
>>188
ありがとう
居座ってた赤いの消すことが出来た

205 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:19:06 ]
VBSなRegExp風にラップしてくれ〜
あれが一番使いやすい。
ついでにコールバックによる置換なんかに対応してくれれば言うことない。



206 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:26:00 ]
「VBSなRegExp」がどんなのか分かったら暇なときにやらないこともない

207 名前:197 mailto:sage [2008/11/18(火) 21:56:01 ]
>>197
del5でもShortStringに変換して比較してた>AStrCmp
WideCharの比較でなんでShortStringが出てくるのかわからないけど、仕様ならしょうがないか。


208 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:58:34 ]
UnicodeStringへの添え字でのアクセスはShortStringになるのが関係ありそうでなさそうでありそう

209 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 21:58:57 ]
>>187
まあそれはそうなのですが、単純にブリッジ処理書くのが省ければなあ、
という用途で使おうと思ったら、
面倒くさい仕様なので残念!といったところなのです。

210 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:01:53 ]
Ordをかましたらどうだろ

211 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:44:44 ]
Orz

212 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:18:28 ]
delphiで、一部の文字の色を変えるエディタって簡単に作れるの?

213 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:21:26 ]
>>212
そんなこと聞いてるあなたには簡単ではないでしょうね

214 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 01:33:40 ]
richeditで出来るだろ

215 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 10:12:46 ]
Delphi2009のバージョンアップ版ってインストール時に
前バージョン(Delphi4持ってる、2は行方不明)の確認ありますか?
VBとの比較検討用だったんでユーザー登録もしてないんだけど...




216 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 11:05:41 ]
おそらく前バージョンのユーザー登録してないならアクティベーション通らないんじゃないかな?
CDNのアカウントで認証してるみたいだし。サポートに問い合わせた方がいいかと。


217 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:33:50 ]
>>192
TObjBでイベントを定義して、ObjBを生成したときに
イベントハンドラとしてObjAのメソッドをを代入するのがいい。

ObjAの参照を持たせるよりも結合度を小さくできる。

218 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:19:20 ]
特定のオブジェクトの参照を保持するのと、そのメソッドを保持するのと
結合度に差があるの? メッセージを送りたいんだから TObject の Dispatch()
を使えるし、だからすべてのクラスで参照を保持できたほうが汎用性の意味では
よりいいんでは?

219 名前:217 mailto:sage [2008/11/21(金) 01:04:58 ]
んー、どうだろね。
メッセージというのがwindowsメッセージやdelphiのディスパッチのメカニズムを
利用する話なら>>218で正しいと思うけど、>>189にはOOPの話と断りが入ってる。

OOPでのメッセージという用語はオブジェクト間のやりとりの総称なので、
メソッドの呼び出しなども当然に含まれる。俺はそういう理解で解答してる。

220 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:52:35 ]
>>186
なんかりんごの皮をチェンソーで剥いてる様な気がするのは俺だけ?

221 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:57:03 ]
そりゃ金の取れる芸のレベルだよ

222 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:58:45 ]
正規表現コンポに金使えばいいのか

223 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 11:12:54 ]
FreeMemにサイズを指定するメリットってあるんでしょうか?
Sizeが無指定だとちゃんと全部開放されないとかあるんでしょうか

224 名前:デフォルトの名無しさん [2008/11/22(土) 16:37:35 ]
Delphi6 Personal使ってます。
manifest適用時にTComboBoxのSelText、SelStart、SelLengthの値が
正しく取得できなくて困ってます。

Textに「あいうえお」と入力して「うえ」を選択したとき

SelText:
SelStart: 1
SelLength: 1

という結果が返ってきます。
半角だと問題ないのですが全角だとおかしくなります。

正しい値を取得するにはどうすればいいでしょうか?


225 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 17:31:56 ]
Delphi 2007でも同様の結果になるようですね。



226 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:26:08 ]
manifest適用しなければおk

227 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 12:04:15 ]
ユニコード対応のD2009じゃね?

Tntは修正が不完全だけど、一応使えるレベルだと思う。

228 名前:225 mailto:sage [2008/11/23(日) 13:08:12 ]
TNTComboBoxならSelStart/SelLengthは正常に取得できる。SelTextはTextをAnsiStringに
変換後に自前で変換すればいい。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := Format('SelStart=%d SelLength=%d SelText=%s',
[ComboBox1.SelStart,ComboBox1.SelLength,
Copy(AnsiString(ComboBox1.Text),ComboBox1.SelStart + 1,ComboBox1.SelLength)]);
end;


229 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 13:16:48 ]
TNTって無料版の開発終わったよね

230 名前:225 mailto:sage [2008/11/23(日) 13:34:43 ]
まーでも古い版はダウンロード可能だし。mh-nexusさんとことか。でもDelphi 6 Personalは別版が必要かも?

231 名前:225 mailto:sage [2008/11/23(日) 14:01:52 ]
TNTは現在はTMSで売ってる。
ttp://www.tmssoftware.com/site/tmsuni.asp
個人なら30Euro(3600円くらい)。

232 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:08:16 ]
有料版でも直ってないそうですね
まあ、英語圏の人は他言語IMEなんて使ってないだろうし

FastCodeの中の人なんて、LowerCaseのTable作りに
CharUpperBuff使っただけで、「Ansi」StringReplaceとか言っちゃってるしなぁ

233 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:10:37 ]
いけね、UpcaseのTableだ

234 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:47:14 ]
>>230
そのままだとコンポが足りないのでエラーが出るけど
ちょっと書き換えればD6Perでも動くよ

235 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 22:45:46 ]
DBとBandアクチョン削ればOKだったかな
で、必要な人はsoft-gemsのThemeManager入れる、と



236 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 18:14:27 ]
特待販売の葉書が来た。
久々にバージョンアップしてもいいかなぁと思ってるところ。
今C#を主に使用しているんだけど、Delphiならではのメリットっていうと、
VCLとネイティブコンパイルぐらい?

237 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:39:27 ]
バージョンアップしなくても「Delphiならではのメリット」は変わらんだろ・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<151KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef