1 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:41:37 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その50 pc12.2ch.net/test/read.cgi/tech/1246340765/ <過去スレ> 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
357 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:05:49 ] >351 ファイルストリームで元ファイルを開く→所定の位置にseekする→メモリストリームにコピーする →メモリストリームのPositionを0に戻す→メモリストリームをファイルに書き込む
358 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:13:33 ] >>357 レスありがと。 メモリストリームにコピーとは?どのような関数ですか?
359 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:34:57 ] CB_SETCURSELってチェンジイベントみたいなのって起きないのかな。 他アプリのコンボボックスを操作するのに、CB_SETCURSELで選択項目を 変えるんだけど、一回コンボボックスにクリックメッセージを送らないと 認識しないみたいなんだ。 これって、相手のアプリの作りの問題? 別のAPIがあるの?
360 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:50:08 ] >>354 意味分からん 何もしてないのにバッファが書き換わるとでも言いたいのか
361 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 22:51:47 ] >>360 簡単にいうとどうやってこの格納されたバッファをファイルとして保存するかなんです。
362 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:11:16 ] ファイルストリームでもメモリストリームでも好きなの使えば素敵やん
363 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:43:28 ] >>361 b: array[0..4095] of byte; MS: TMemoryStream; begin for i:= 0 to 4095 do b[i] := $FF; MS:= TMemoryStream.Create; MS.Write(b, 4096); MS.SaveToFile('c:\gomi.dat'); MS.Free;
364 名前:デフォルトの名無しさん mailto:sage [2010/03/02(火) 23:58:58 ] >>363 書き込むだけの用途ならTFileStream使え Create-Freeはtry-finallyで囲め ハードコーディングすんな
365 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 00:07:55 ] >>364 うわ…
366 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 00:30:48 ] >>358 とりあえず、マニュアル(ヘルプ)読んでから、質問しろ function CopyFrom(Source: TStream; Count: Int64): Int64; ってのが見つかるはずだから
367 名前:デフォルトの名無しさん [2010/03/03(水) 13:06:15 ] Windows7が動くDelphiはどのバージョンまで対応していますか Delphi2以降は一応動くと思うのですが
368 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:36:48 ] Delphi上でOSを動かそうというのはなかなか難しいのではないかと。
369 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:59:04 ] >>351 単純な手があるんじゃないの ファイルAとBを開き、Aのファイルポインタを 移動してから、あとは全部AをBへコピー メモリに覚える必要とかまったくないと思う
370 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 15:37:49 ] >>368 Delphiで仮想マシン作れってことか
371 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 15:53:45 ] 対応の意味によるんじゃね。 厳密な意味で対応してるのは最新の奴だけだろうし Vista以前のDelphiだとVistaでウィンドウのプレビューがうまくとれないなんて細かい不具合があったし。
372 名前:デフォルトの名無しさん [2010/03/04(木) 10:10:42 ] 超初心者です。 Delphi2005 プログラミングテクニックVOL4 に載っていた簡単なイメージビューワを作ってみましたが 作成中にフォームのOpenPictureDialogをクリックすると、 すべてのファイル(*jpg,*jpeg,*bmp・・・)と正しく表示されるのに 実行すると、jpegがすべてのファイルの中に出てきません。 bmp、ico、emf、ぐらいしか表示されません フィールターも見たのですが・・・・ コードはメニュー開く(&O)...の中に if OpenPictureDialog. Execute then begin Image.Picture.Bitmap.LoadFromFile(OpenPictureDialog.FileName); MainForm.Caption := OpenPictureDialog.FileName; end; ご教授頂ければ幸いです。
373 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:28:30 ] uses jpeg;
374 名前:351 mailto:sage [2010/03/04(木) 18:50:43 ] とりあえずfilestreamで読み込み、指定の位置へ移動、バッファいれるためのメモリ確保までは問題なく動作しているようです。 ですが、readが間違えているのかうまくいかず、指定の位置からではなく、そのままファイルをコピーするものになったしまいました。 やりたいことは指定した位置から最後まで読み込んで、その読み込んだ部分だけをファイルとして書き出すことです。以下がソースになります。 ms := tmemorystream.Create; fs:= TFileStream.Create('C:\AAA.dat',fmOpenRead); try fs.Seek(targetposition, 0); Buff := AllocMem(SrcSize + 1); fs.Read(buff^,srcsize); ms.LoadFromStream(fs); ms.SaveToFile('C:\ABC.dat'); finally FreeMem(Buff); ms.Free; fs.Free; end; どうかご回答の程、よろしくおねがいします。Copyfromよりこちらの方が楽そうに思いしようしました。
375 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:16:24 ] buffは何のために確保してるの?
376 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:20:26 ] >>374 君がやっていることを例えると、 本を借りてきて、 メモ用紙に必要な事項だけ書き写して、 本をコピー機で全部複製して、 メモ用紙を捨てて、 本を返してる
377 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:32:46 ] >>375 部分的に読み取ったものを格納して・・・と思ったんですが、違うんですか? >>376 その例えの必要な事項だけ書き写したのを欲しいんですが、余計なコード書きすぎとかですか? この指定した位置から読み取ったバッファ=fsという理解ではないのでしょうか?
378 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:18:41 ] buffに格納したものを利用せずに捨ててる
379 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:51:23 ] >>378 この読み取ったバッファをファイル保存するために、 ms.LoadFromStream(fs); ms.SaveToFile('C:\ABC.dat'); としたんですが、どうもうまくいかないのです。 何か良い手はございますか?
380 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:37:23 ] msにbuffを書き込めよw
381 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:49:54 ] >>380 レスありがとうございます。 言われた通りにしたらうまくいきました。 これまでお付き合いくださった方、ありがとうございました。 そしてお騒がせ致しました。
382 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:02:09 ] いいねぇくだすれらしくてw
383 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 02:27:05 ] もどかしいが嫌いじゃないぜ、この流れw
384 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 12:06:52 ] 無意味なエラートラップならやらないほうがいい
385 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 12:51:14 ] 無意味なエラートラップはない
386 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 15:07:49 ] try abort; except abort; end;
387 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 15:16:16 ] それは無意味なエラートラップじゃなくて無意味なコード
388 名前:デフォルトの名無しさん [2010/03/10(水) 18:08:50 ] よく改造サイトでエミュでチートを・・・とか書いてありますが、これを(チートを)そのエミュ上で行うのではなく、 自作のプログラムで行おうとする場合どのような流れになるのでしょうか? 簡単にいうと、エミュでチートを行わずに、自作のプログラムでいま起動されてるエミュ上のゲームのデータを書き換える というものを作りたいのです。
389 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:23:01 ] ガキ臭いやつだなぁw
390 名前:デフォルトの名無しさん [2010/03/10(水) 22:33:19 ] >389 素直に「答えられません」と降伏宣言したらだどうだ?。嫌ならゴミレスするな
391 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:38:14 ] 答えられません ですから諦めて下さい
392 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:50:49 ] 改造板行けよ
393 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:39:25 ] Delphi6まで使っていましたが、最近またDelphiで開発する はめになりました。 で、Delphi2010の購入を考えております。 そこでお聞きしたいのですが、Delphi2010は、Delphi6 と比較して、何が良くなっているのでしょうか? 特にエディタの使い易さなどはどうでしょうか。 メーカが出している機能比較のPDFなどは見ておりますが、 実際の開発者さんの感想をお聞きしたいです。 作成するアプリは、SQLServerおよびAccessMDBを使う業務 アプリです。 よろしくお願い申し上げます。
394 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:53:43 ] 使い勝手は人によるので。 >特にエディタの使い易さ となれば、D6 でどこが不満だったのかをまとめれば答えやすいと思うよ
395 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 09:28:58 ] Delphi 2010 Architect - 30 day trial https://downloads.embarcadero.com/free/delphi
396 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:57:05 ] >>393 エディタはコードの折りたたみ等必要ないなら外した方がいい。 若干バギーな部分もあるが実用できるとは思う。 ただしvimなど外部エディタに慣れてるならそっちで環境整えた方がいいっていうレベル。 でもリファクタリングは便利。 生産性は上がってる。ジェネリクスがあるのでコードの記述量が劇的に減る。 C++でテンプレートを使えていたなら何も考えずに使えるはず。 テンプレートもよく分からないのなら、Delphi2009Handbookを読めば解説がある。
397 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:03:34 ] ジェネリクスはバグだらけ。とナカムラセンセが言っていますよ?
398 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:18:15 ] 中村先生が指摘してたバグはすでに修正されてますが? 何年前の話を持ち出してるんだよ情弱
399 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:22:41 ] 「Delphi ジェネリクス バグ」で検索すると中村の指摘が真っ先に引っかかるからな。 一番上のネタを持ってくる辺り、検索して知ったにわか知識ということがよくわかる。
400 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:54:43 ] なんかごめん・・・・
401 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 13:01:50 ] ジェネリクスなどのコンパイラの新機能にエディタは追いついてないので 古いバージョンからアップグレードすると既存の機能でいらいらする事結構ある。 前できた宣言の検索(Ctrl+Shift+上下キー)とか動かない部分とかあるし。 仕方なく通常のCtrl+F2の文字列の検索でソース追うはめになったり。
402 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:21:43 ] Delphi 2010のlicense_ja.rtfに書かれている 「指名ユーザーが本製品の使用を許可された唯一の個人である場合、 適正な数のコンピュータに本製品をインストールすることができます。」 というのは、 「俺だけが使うのなら、自宅のデスクトップPCと、カバンに入れている俺資産のノートPCと、 XPmode上の仮想PCの3つにインストールできるじゃん」 という認識でOKでしょうか? 自宅でも出先でも開発したいのよ。
403 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:01:11 ] その認識で良いと思いますが ライセンス関連の質問は Embarcadero サポートに問い合わせることを勧めます。
404 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:48:25 ] へー グーグルってあてにならないんだな、ヤフーサーチ使おうっと
405 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:47:15 ] >>402 その認識で良いです。 確か「ナンセンス」でない「ライセンス」という考え方で、有名な ライセンス形態だったはずです。
406 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:02:52 ] 古き良き時代の「ナンセンスではないライセンス」は、かなり以前に撤廃されています。 当時はデジタルコピーを配布することが、今よりは大変だったため、ライセンス所有者でなくても (複数の人が同時に使うので無い限り)利用可能でした。 その後ネットワーク速度の向上により、CD 一枚くらいなら気兼ねなく複製をコピーできるようになって、 ライセンス所有者でないと利用できないように変わりました。 実際には、インストール後にアクティベーションを行い、ユーザー名とシリアル番号とコンピューターを 結びつける作業を行います。 「適正な数のコンピュータ」というのは、アクティベーションの回数に上限があることを意味しています。 普通に使う分には問題にならないはずですが、もし上限に達したらサポートにメール/電話すれば 解除してもらえます。実際の値は10回か20回くらいらしいです。
407 名前:405 mailto:sage [2010/03/13(土) 10:38:29 ] >>406 そうだったのですか、それは大変失礼しました。間違った 書き込みをしてすみませんでした。
408 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:01:41 ] >406 今は上限はwebからincrementできる。名義変更は電話する必要があるけど。
409 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:28:16 ] incrementは1回ずつしか増やしてくれないのが面倒といえば面倒な現在
410 名前:402 mailto:sage [2010/03/13(土) 16:24:40 ] >>403 ,405,406,408,409 ありがとうございます。 週明けにでもEmbacarderoさんのサポート窓口に聞いてみます。 結果が分かったら報告しますね。
411 名前:393 mailto:sage [2010/03/13(土) 20:00:14 ] >>394 ,395,396 回答ありがとうございます。 >D6 でどこが不満だったのかをまとめれば答えやすいと思うよ エディタに関して言えば、 ・フリーカーソルモードが不便(ふつうのエディタみたいなほうがいい) ・次を検索はF3でOKだが、前を検索はShift+F3でできて欲しい。 IDEに関して言えば、 登録したコンポーネントを探しにくい VCLに関しては、 TListViewがショボい(.NETの方が格段に高機能) こんなところです。 Delphi2010ではどうなんでしょうか?
412 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:35:40 ] フリーカーソルはD6の時点で無効化方法あっただろ 少しは自分で調べろよ… Shift+F3は可能、コンポーネントは名前で探せる TListViewはそもそもListViewのラッパーで コモンコントロールのバージョン(OSのバージョン)によって機能が違う D6のメインターゲットOSは2000だし機能が少なくて当然
413 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 09:44:30 ] >>412 Delphi 2009のVCL機能 www.codegear.com/tw/article/38604 TListViewは、Windows XP/Vistaで追加された機能が使えるようになった。
414 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 09:56:13 ] それってExplorerのグループで表示みたいなのもできる?
415 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:37:52 ] >>414 まさしくそれが追加された。
416 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:46:43 ] SHBrowseForFolderでフォルダー選択ダイアログを出すようにしているのですが、 ダイアログを表示させる時に過去に選択されたフォルダーがある場合、そのフォルダーを 選択した状態で表示させるにはどうすればいいでしょうか? ググってサンプルコードをコピペして試しているのですが、BrowseInfo構造体で lpfn := @FolderCallback; lParam := LongInt(PChar(FolderPath)); //初期フォルダ指定 って、設定してもlParamの設定がおかしいらしくコンパイルエラーになってしまいます。 Dlphi7とXPの環境です。 よろしくお願いします。
417 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:33:29 ] そのコンパイルエラーの内容を書こうぜ
418 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 15:16:18 ] すみません。 解決しました。 lpfn := @FolderCallback; の@を消して lpfn := FolderCallback; lParam := LongInt(FolderPath); これで動きました。 でも、ここの設定はコールバック関数を指定するから @っているはずですよね? ググったサンプルコードも皆@付いてました。
419 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 15:28:13 ] FolderCallbackが(名前で推測できるとはいえ)何を表してるのか書いてないのに、どう回答しろと? homepage1.nifty.com/MADIA/delphi/Win32API/SHopenFolder.htm
420 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 15:29:05 ] >>412 >フリーカーソルはD6の時点で無効化方法あっただろ >少しは自分で調べろよ… D6にフリーカーソルモードの無効化方法があるのですか? 調べても見つかりません。 済みませんが教えていただけないでしょうか。
421 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 15:33:56 ] Delphi6 フリーカーソル 無効 に一致する日本語のページ 約 5,280 件中 1 - 100 件目 (0.57 秒)
422 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 17:20:50 ] >>420 逆に何を調べたら情報が見つからないのか教えて欲しい
423 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 17:25:56 ] あなたには聞いてません。黙っててください。
424 名前:デフォルトの名無しさん [2010/03/14(日) 17:33:39 ] またヴビ厨の自作自演か。さっさとハローワーク行ってこい。
425 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:55:58 ] >>423 は偽善です。私が本物です。
426 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 09:13:44 ] フリーカーソル無効化のソースをいじくってDelphi2009、2010でも うごくようにして使ってるぞ 基本的にはコンパイルエラーを取り除くだけで動く メモリリークしているかもしれないがw
427 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 10:19:32 ] >>414 ttp://www.gesource.jp/programming/bcb/75.html#listview_group
428 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 12:01:32 ] アプリケーションの実行フォルダにできるdel01.mbっていうファイルは何ですかね。
429 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:35:29 ] 最近のって例えばTStringsにShuffleメソッドを後付けするような機能ってつきました? 古いのでも無理やりできない事もなかったけどオフィシャルな機能として。
430 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:38:45 ] いい加減秋田 本当に知りたいなら体験版で試せば?
431 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:51:49 ] 海の水はどうしてですか?
432 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:10:44 ] はい
433 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 18:20:00 ] TListViewのSubItemがダブルクリックされた時に いい感じに編集エリアを出す方法を教えれ。
434 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:09:34 ] >428 そんなファイルができたのみたことないわ。 >429 クラスヘルパ
435 名前:292 mailto:sage [2010/03/15(月) 23:22:02 ] >>428 DBアプリでBDEが作るテンポラリーファイルだったと思う。 アプリ終了しても残ってたら削除しちゃって大丈夫のはず。
436 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 14:22:20 ] >>433 ダブルクリックされたら動的に生成すれば素敵やん
437 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 17:15:17 ] 編集エリアって何??
438 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:08:45 ] ああもう説明めんどくさい こんな感じ ttp://www1.axfc.net/uploader/Sc/so/93094.zip ttp://www.codeproject.com/KB/list/ListViewCellEditors.aspx これをサル移植したけど、いんだかわるいんだか。
439 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:18:20 ] わるい
440 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 19:49:02 ] がっかり
441 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 20:49:37 ] わかる
442 名前:433 mailto:sage [2010/03/16(火) 22:33:14 ] くそう せっかく作った(?)のだがウケが悪かったか。
443 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 02:35:29 ] がんばれ!ベアーズ
444 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 09:32:14 ] ふるぅ
445 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 15:11:13 ] それゆけ!レッドビッキーズ
446 名前:デフォルトの名無しさん [2010/03/17(水) 20:31:10 ] コンボボックスのOnMouseLeaveがなんだか変で困っています。 コンボボックス上でマウスを動かすたびにすさまじい 回数OnMouseLeaveイベントが発生します。 エディット等ではなりません。 フォームにコンボボックスとメモだけ貼り付けて、 コンボボックス上でマウスを動かすと、 メモの行数がどんどこ増えていきます。 procedure TForm1.ComboBox1MouseLeave(Sender: TObject); begin Memo1.Lines.Add(IntToStr(Memo1.Lines.Count)); end; 環境はDelphi2010です。 なにかうまい対処法はないでしょうか…?
447 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 21:18:44 ] ほんとだ、MouseMove並みに呼ばれるなw 飛んでくるウィンドウメッセージ調べたら実際に大量に飛んできてるからVCLのバグとかではなさそうだが・・・・
448 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 05:12:59 ] とりあえずの対処としてはイベントの中でFindVCLWindow(Mouse.CursorPos)<>Senderをチェックするのが手っ取り早そう。
449 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 15:27:19 ] >>446 とりあえず原因はわかったけど書くと長くなるので対処法だけ StyleをcsDropDownListにする、これだけ csDropDownで使う必要がある場合はちょっと面倒なことになるけど >>448 当たり前だけど全部TComboBox宛の正規のメッセージだから意味がない 違うコントロール宛のメッセージが誤配されてるわけじゃないからね
450 名前:446 [2010/03/18(木) 16:08:58 ] ありがとうございます。 やりたかったのは、「自作コンボボックスでMouseLeave時にヒントを隠す」 というものでしたので、無駄にメッセージは飛んできますが、対症療法的に ↓みたいな感じにしてみました。 procedure TMyComboBox.WndProc(var AMsg: TMessage); begin if (AMsg.Msg = CM_MOUSELEAVE) then begin // 自分自身の上にカーソルがあるときは捨てる if (FindVCLWindow(Mouse.CursorPos) = Self) then begin Exit; end; // ヒント隠す処理 : end; inherited; end; ちなみに気が付いたのは、コンボボックスのCustomHintにTBalloonHintを 割り当てたときに、激しくヒントがちらついたためです。 仮にバグではないにしても、実用上問題があるような…。 >>449 ユーザーの入力で絞込み、みたいなことをする必要があるので、 csDropDownにしなくてはならないのです…ジレンマです。 エディット部分が何か悪さしているのでしょうか?
451 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:12:30 ] Delphi で書かれたアプリがあるんですが PC 環境を入れ替えたら一部(かつメイン)のファイル出力が出来なくなってしまいました それ自体は '06-07 ぐらいで開発が止まっています 自分の環境は XP で、最近クリーンインストールしたばかりです ファイアウォールでの出力禁止はしていません 症状は 「ファイル」メニューから「別名でファイル保存」を選択 ファイル出力のダイアログは出ず、メニューの「別名で…」が選択不能の状態になる エラーメッセージやイベントログへの吐き出しはありません 替わりになるようなソフトが他にないため、バージョンを遡って試したり 関連情報をググったりしていますが正直お手上げ状態です… スレ違いかと思いますが、少しでもヒントいただければ助かります
452 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 18:20:56 ] >>450 本筋とは外れるけど、フィルタリングみたいなことするならComboBox不向きじゃね? TEditとTListBoxの方がいい気が
453 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 21:14:18 ] >>451 MLで聞いた方が早い気がする。 作者が参加している確率高いだろうし。
454 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 23:07:43 ] >451 互換モードでWin2kなり何なり指定してみては?あとは作者に聞くしかなかろう。 Delphiだからどうこういう問題じゃないと思うが。
455 名前:451 mailto:sage [2010/03/19(金) 00:07:39 ] >>453-454 レスありがとうございます そうですね、作者とやりとりできれば最善なんでしょうが 東欧の人だし自分も英語に自信がなく… ソースは公開されているので、もうちょっとやれるとこまでやってみます
456 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 07:20:27 ] ソース公開されてるならリンク書いておけば見てもいいと思う奴もいるだろうに
457 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 08:58:12 ] オープンソースなら自分で直せよ