1 名前: ◆XcB18Bks.Y mailto:sage [2008/03/12(水) 21:09:39 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その45 pc11.2ch.net/test/read.cgi/tech/1198802907/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?Delphi%20%B4%D8%CF%A2%A4%CE%B2%E1%B5%EE%A5%B9%A5%EC%A5%C3%A5%C9
720 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:22:32 ] copy関数で何文字目とか文字数とかの設定は 関数にできないんでしょうか?
721 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:26:32 ] 日本語でry
722 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:41:31 ] >>720 こういうこと? function TForm1.CopyEx(S:String; Idx, Cnt:Integer):String; begin Result := Copy(S,Idx,Cnt); end;
723 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:23:11 ] >>722 申し訳ないです。 関数にできないんでしょうか? は変数にできないんでしょうか? の間違いです。
724 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:30:50 ] 722に申し訳がるこた全くなし つうか変数使えるでしょ?たぶん
725 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:32:56 ] >>723 こういうこと? var Idx,Cnt:Integer; begin idx := 1; Cnt := 2; Edit2.Text := Copy(Edit1.Text, idx, Cnt); end;
726 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:45:03 ] >>725 a1 := edit1.text; a2 := strtoint( a1 ); data := copy( Edit2.Text,a2,1 ); ここで悩んでます。
727 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:49:51 ] はぁ?
728 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:50:09 ] >>726 edit1.textに数字を入力すれば普通に動くと思う ↓またはこうする a1 := edit1.text; try a2 := strtoint( a1 ); finally a2 := 0; end; data := copy( Edit2.Text,a2,1 );
729 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 20:54:58 ] a1 := edit1.text; a2 := Length( a1 ); data := copy( Edit2.Text, a2, 1 ); こーゆーこと?
730 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:16:39 ] いやあエスパーさんばっかいるなwww
731 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:24:18 ] >>728 そこはexceptだろ
732 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:26:00 ] >>731 細かいなw
733 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:26:02 ] >>731 strtointdefで
734 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:27:24 ] >>728 var bno:string; keta:string; k1,k2 : string; kk1,kk2 : integer; a1,a2 : string; procedure TForm1.Button2Click(Sender: TObject); begin a1 := copy(bno,kk1,1); a2 := copy(bno,kk2,1); edit2.Text := a1+a2; end; procedure TForm1.Edit2Change(Sender: TObject); begin keta := edit2.text; k1 := copy(keta,1,1); kk1 := strtoint(k1); k2 := copy(keta,2,1); kk2 := strtoint(k2); end; コンパイルは通るのに実行するとエラーが出ます(涙)
735 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:30:36 ] edit2でキー押したとたんに落ちたの?>>734
736 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:32:51 ] とりあえず書き方がうざすぎる
737 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:33:00 ] >>735 はい。 デバッガ例外通知が出たので 継続ってすると ”は整数ではありません と怒られました。
738 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:33:35 ] >>734 bnoには何が入ってるのよ
739 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:34:50 ] >>738 ほかのEditから取り込んだ数値が入ってます。
740 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:39:46 ] >>739 ↓この行にブレークポイント置いてketaの中身をチェックしてみ k1 := copy(keta,1,1);
741 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:43:16 ] >>740 やってみます。 ありがとうございました
742 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:45:58 ] とりあえず1度深呼吸してからヘルプのOnChangeを10000回ぐらい読んでこい>>741
743 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:47:05 ] Edit&数値処理の基本 var n: Integer; begin try n := IntToStr(Edit1.Text); ShowMessage(Format('%dの二倍は%d', [n, n * 2])); except ShowMessage(Edit1.Text + 'は数値ではない'); end; end;
744 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:50:31 ] >>740 >>742 >>743 EditChangeに入れてた式を ButtonClickに移動したらエラーが出なくなりました。 もっと勉強します
745 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:51:48 ] 例外がどこで起こってるかくらいてめぇで調べられないのかよ・・・ 嘆かわしいのぅ
746 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:54:31 BE:348454-PLT(12660)] >>744 頑張ってね
747 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:56:18 ] IDEで挿入されるもの以外小文字で書いてる人よく見るけど見づらくないのかな
748 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:16:44 ] 大文字と小文字が区別されないという特徴をうまく使っていると思っている方々なんですよ、わかりません。
749 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 04:34:37 ] TDateTimePickerのKindプロパティをdtkTimeにし、Formatプロパティに日付を表示するように設定した場合、 日付を編集し、その後に時刻を編集すると日付が元に戻ってしまうのですが、 OnChangeなどを監視するなどしか対策方法はないでしょうか ヘルプには 「Format プロパティに日付フィールドのコードが含まれている場合には日付部分も編集できます。」 と書いてあるのに・・・
750 名前:716 mailto:sage [2008/05/22(木) 10:04:22 ] >>718-719 ありがとうございました
751 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:06:30 ] Delphi5, TStringGrid にデータ表示 1レコード1行の場合OnDrawCellイベントで if Grid.Row = ARow then begin Grid.Canvas.Brush.Color := '紺色'; Grid.Canvas.Font.Color := '白色'; Grid.Canvas.FillRect(Rect); end else begin Grid.Canvas.Brush.Color := Grid.Color; Grid.Canvas.Font.Color := Grid.Font.Color; Grid.Canvas.FillRect(Rect); end; として、フォーカスが当たっているように見せています。 1レコード2行の場合はどうすればいいでしょうか? Grid.Row が2の倍数で ARow = Grid.Row + 1 Grid.Row が2の倍数以外で ARow = Grid.Row - 1 の条件の時にも 背景・前景色を変更したけど、フォーカス色が残ってしまう場合があります。 OnDrawCell内で Grid.Repaint; を実行するとチラつきます。 Grid.Invalidate; だと さらに チラつきっぱなしです。 複数行フォーカスってどうやるんでしょうか?
752 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 19:33:21 ] >>751 一行が二行に見えるように描画すればいい。
753 名前:デフォルトの名無しさん [2008/05/23(金) 10:53:01 ] Delphi過去ログ検索が見つからないのですが、 もしかして畳んでしまわれたのかな・・・? leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/nsearch.cgi
754 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:16:34 ] >>753 みたいです。MLでも話題になっています
755 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:10:14 ] Webサーバのあるディレクトリのファイル名の一覧を FindFirst, FindNext みたいに HTTPで取得する方法ってあります?Delphi7 + Indy9 ですけど
756 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:55:39 ] お前は行ったことの無い店の商品が分かるのか? そういうことだ でも店によっちゃホームページとかで公開してる場合もある それと同じようにファイル一覧が見れるページもある
757 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:56:19 ] 出来たらCGIがスケスケで大問題だね
758 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:56:57 ] >>753-754 MLにご本人からポストがありましたがWeb鯖が停止しているだけのようで。 閉鎖の予定は無いそうですよ。
759 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:08:33 ] >>756 >>757 あ、自分のサーバーなんです。ユーザーに配るプログラムから、 特定のディレクトリのファイルを全部 GET でダウンロードできるように したいと思いまして(そこに置くファイルは変化します)。 でも出来ないみたいなのかあ。
760 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:12:38 ] >>759 それなら、ファイルの一覧を取得して返すCGIを置いといて、それにアクセスすればいいと思うよ
761 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:31:11 ] 自鯖ならFTPか何かで取得してもいいんじゃ?
762 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:34:51 ] あ、そうか。CGI方式もFTPでもいけそうかあ。 ありがとう。FTPはパスワード変更しそうなんでCGIで検討してみます。 # 最初の質問、説明不足でスミマセンでした。
763 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:13:48 ] TComboBoxでドロップダウンのアイテム選択しているとき、 DELキーを押したら選択アイテムをItemsからむ削除したいんだけど出来るかな? ブラウザの検索履歴を消すイメージで
764 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:18:07 ] そりゃできるだろ
765 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:21:07 ] >>764 どーやるの?
766 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:29:11 ] どこがわからないんだよ
767 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:29:52 ] こいつのがんばり方が正直よくわからない
768 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:55:45 ] TComboBoxでやるのは意外と大変かもよ。 ブラウザは独自のComboBoxもどきでしょうね。
769 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:04:18 ] >>766 itemsの中身がペロッと出て、 そのペロッと出たリストを選んでいる状態で、 DELキーを押したときの処理なんだけど… 説明がヘタですまん
770 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:08:32 ] ボタンイベントを監視してDELが押されたら現在選択中の番号取得してそこをリストから削除すりゃーいい話だろう
771 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:12:22 ] ん?よくわからないんだがこれじゃだめなの? procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var i:integer; begin if key=VK_DELETE then for i:=0 to combobox1.Items.Count-1 do if combobox1.Text=combobox1.Items[i] then combobox1.Items.Delete(i); end;
772 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:15:18 ] あぁItemIndex使えばいいか
773 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:18:20 ] keyPressだとうまく行かなかったけど、KeyDownならうまく行きそうだね >>771 ありがとう
774 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:36:26 ] たびたびすいません >>771 でうまくいったと思うんだけど、 ペロッと出してない状態でも、textにitemsと同じ文字列が入ってる状態で DELキー押すとitemsから削除されちゃうのは、しょうがないですかね?
775 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:39:13 ] >>774 DroppedDownは?
776 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:43:24 ] >>775 それはイベントですか? DroppedDownの意味がわからなくてすいません
777 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:44:25 ] ヘルプは?
778 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:47:27 ] >>777 ヘルプに乗ってました ↓こうしたらうまくいきました 助かりました! if (ComboBox1.DroppedDown) and (key=VK_DELETE) then begin
779 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:53:43 ] ループしてる時に固まることがあるのでUpdateWindowを毎回やってるのですが、それでも固まってしまいます UpdateWindowよりも確実な方法はあるのでしょうか? Application.ProcessMessageは遅い印象があるので使いたくないです
780 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:56:39 ] >>779 スレッドに分ける
781 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:05:51 ] >>780 なるほど、マルチスレッドにはあまりしたことがないので思いつきませんでした ですがループで毎回メインフォーム弄ってたらそれも遅くなったりしませんかね?
782 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:02:11 ] >779 > Application.ProcessMessageは遅い印象があるので使いたくないです 印象だけで排除するのはどうよ?つかたぶんその印象は間違っている。
783 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:52:27 ] >>781 自分で考えてください
784 名前:デフォルトの名無しさん [2008/05/24(土) 07:08:07 ] >>779 ・マルチスレッド化する ・Sleep();を入れる マルチスレッドにしてもWait入れたりSleepしないと重くなるけどな
785 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 08:37:59 ] 特定のコンポーネントの表示を頻繁に行いたいなら ListBox1.Items.Add('foo'); ListBox1.Repaint みたいにすればいいし、ウィンドウのリサイズなんかの操作が固まるのを避けたいなら Application.ProcessMessagesかスレッド使うしかない。 どうやるにしろ表示の更新は重いのには変わりない。
786 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 08:39:45 ] ListViewならBeginUpdate / EndUpdateで大幅に高速化できるな
787 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:08:40 ] Invalidateしないと、UpdateWindowだけでは更新しなかった気がするのですが。
788 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:54:38 ] 質問させてください。(2つに分けます。長くて申し訳ありません) 次のような宣言をされた DLL があります。(Microsoft Visual C++ 6.0) typedef struct { SOCKET fd; /* Socket Handle */ struct sockaddr_in m_lcd; struct sockaddr_in m_para; struct sockaddr_in m_serial; timeval timeout; int registered; } PICNIC; extern "C" { __declspec(PICNIC_DLL) PICNIC *PN_open(char *ip, u_short lcd_port, u_short para_port, u_short serial_port); __declspec(PICNIC_DLL) void PN_close(PICNIC *pn); __declspec(PICNIC_DLL) int PN_setwhole(PICNIC *pn, int addr, int cn, ...); } つづく
789 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:55:32 ] >>788 のつづき この DLL にアクセスしたくて Delphi 7 でこのようにプログラムを書いてみましたが uses WinSock type TPICNIC = record fd: TSocket; m_lcd: sockaddr_in; m_para: sockaddr_in; m_serial: sockaddr_in; timeout: timeval; registered: Integer; end; function PN_open(ip: PChar; lcd_port: Word; para_port: Word; serial_port: Word): TPICNIC; cdecl; external 'PICNIC.DLL' name 'PN_open'; procedure PN_close(pn: TPICNIC); cdecl; external 'PICNIC.DLL' name 'PN_close'; function PN_setwhole(pn: TPICNIC; addr: Integer; cn: Integer): Integer; cdecl; external 'PICNIC.DLL' name 'PN_setwhole'; C での SOCKET 型が Delphi では TSocket と宣言すれば正しいのかわからないです。(Longint ?) それと、PN_setwhole(PICNIC *pn, int addr, int cn, ...); の最後の「...」を Delphi では、どのように記述すればいいのかわかりません。 どなたか教えていただけないでしょうか?
790 名前:デフォルトの名無しさん [2008/05/24(土) 19:02:15 ] 少し書き間違ってました。 function PN_setwhole(pn: TPICNIC; addr: Integer; cn: Integer; arg: array of Integer): Integer; cdecl; です。DLL 側のソースで va_start(arg, cn); for(i=0;i<cn;i++){ mask = va_arg(arg, int); or = va_arg(arg, int); frame[3+i*2] = mask; frame[3+i*2+1] = or; } va_end(arg); と記述されています。
791 名前:デフォルトの名無しさん [2008/05/24(土) 19:46:48 ] >>758 あせったわw MLみたら、2chの書き込みまで引用されててひどい 誰だよ武内さん語ったの・・・いたずらにしてはひどい話だよ
792 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:07:10 ] あれは、たかだか2chのソースでしかない話を引用した方も悪い
793 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:17:59 ] くだらない筆問ですが 下記サイトで言語習得を目指そうと思います 全てを呼んだわけではありませんがサイトから抜粋 Delphiの Object Pascal という言語をつかって、Windows 95/98/2000 が DLL (ダイナミック・リンク・ライブラリ)として提供している Win32 API (アプリケーション・プログラミング・インターフェース)という 関数群を呼び出してウィンドウズアプリケーションをつくる方法を解説しています 現在仕様しているソフトは無償版Turbo Delphiです RAD環境などサイトとは異なる点がいくつかあると思いますが問題なく勉強していけるでしょうか? これだけのボリュームと内容なので当事はかなり有名な人だったのでしょうね ttp://homepage2.nifty.com/Mr_XRAY/Halbow/ShousaiIndex.html
794 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:21:51 ] >>789 "..."は末尾にvarargsを付ける。詳しくはヘルプを読め SOCKETはたぶん同じ。あとTPICNICをそのまま使うんじゃなくて type PPICNIC = ^TPICNIC としてPPICNICを使わないとだめ(ポインタだから)
795 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:45:52 ] 実体を渡す事が多いようなら 参照にしてもいいと思うよ (var pn: TPICNIC; みたいにさ
796 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:18:38 ] ListViewに何万個ものアイテムを追加するとClearした時やフォーム自体を終了した時にものすごく時間がかかるのですが、 時間のかからないClearの方法はないでしょうか?
797 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:45:26 ] 仮想リストビュー使っとけ めちゃ軽くなる
798 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:56:23 ] TreeViewも標準で仮想にして欲しい
799 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:12:19 ] >>797 ありがとうございます。助かりました!
800 名前:デフォルトの名無しさん [2008/05/24(土) 22:45:31 ] >>793 入門にはお勧めしない 勉強していくうちに言語仕様の勉強にはなるだろうが、 そのサイトでやっているのはDelphiで主に使われるライブラリ、VCLとは真逆の方向性だから。 ここに書いてあるように、Delphiの本流ではないのでいばらの道だよ homepage2.nifty.com/Mr_XRAY/Halbow/Chap00.html#object
801 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:50:52 ] >>794 ,795 とりあえず、794 さんの方法で試したところ、上手く行きました。 ありがとうございました。 特に varargs は存在そのものを知らなかったので 勉強になりました。
802 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:04:22 ] CreateUpDownControlでアップダウンコントロールを 直前に作ったEditに関連付けて作ったのですが、 ウィンドウスタイルにUDS_ARROWKEYSを設定し、矢印キーで位置を移動したら アップダウンコントロールが凹んだまま元に戻らないのですがこれは直せるのでしょうか? アップダウンコントロールをクリックすれば元に戻るのですが・・・ また、C++で試したところ問題はなかったのですが、なぜDelphiでのみ症状が発生するのでしょうか?
803 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:55:39 ] Webページの更新をチェックしたいんですが、サーバーにあるファイルの更新日時は どうすれば取得できるのでしょうか?
804 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:39:24 ] >>803 HEADリクエスト投げてLast-Modifiedでも見れば?
805 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:18:49 ] >>804 出来ました!ありがとうございます。
806 名前:デフォルトの名無しさん [2008/05/27(火) 19:21:11 ] 「'」を文字列で使いたい場合どうするんでしょう? コードとして解釈されてしまいます。
807 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:26:59 ] ''''
808 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:33:53 ] >>806 Chr(39)
809 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:46:15 ] 今から始めるなら Delphi6とTurbo Delphiどっちがいいですか?
810 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:48:07 ] ガゼンDelphiだろ
811 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 05:00:52 ] 両方ともDelphiだろw
812 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 07:20:01 ] TMediaPlayerコンポーネントを使ったソフトでmp3ファイルを開こうとすると 「指定されたファイル名拡張子からデバイスの種類を判断できません」 というエラーメッセージがでるという不具合報告がありました ttp://d.hatena.ne.jp/tomoemon/20051031/p4 ↑を読むと、DeviceTypeを明示的に指定する必要があるみたいなんですが "MPEGVideo"に相当するTMPDeviceTypesの値はどれでしょう? Delphi6を使っているのですが、もしかして対応してなかったりするのでしょうか?
813 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 13:07:24 ] >>812 DeviceTypeはdtAutoSelectでmp3再生できたけど?(Del6) 書き込む前に自分で試してね
814 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 13:46:59 ] dtAutoSelectでも、↓に拡張子とデバイスタイプを結びつけるキーが無いと>>812 のエラーが出る。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\MCI Extensions (NT系) 不具合報告を送ってきた人の環境には、それが無いか別の値になってるのかもしれない。 ちなみにTMediaPlayerに"MPEGVideo"を指定するのはソースを見る限り無理だと思う。
815 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:07:25 ] あ、オレのアプリ(Del7)のMediaPlayer使ったBGM機能もいつの間にか mp3再生できなくなってる… wavで使ってきたから全然気が付かなかった。 開発時は再生できてたのに何でレジストリ変わっちゃったんだろ!? それよりクレーム全然無いってのも、悲しいもんだね
816 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 21:13:39 ] BCB使いだけどTMediaPlayerは使い勝手悪かったから、自分でDirectShow叩いてプレイヤーコンポ作っちゃったなぁ IGraphBuilderインタフェース作成して、そこからコントロールとかビデオウィンドウとかの必要なインタフェース呼び出すだけだから 最低限の物なら50行も行かないと思う。 Delだとヘッダ使えないから面倒そうだけど。
817 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 21:26:13 ] >>813 不具合報告がありましたってんだから環境によるものだろ 自分の環境が全てではないぞ 不具合報告にはOS書いてなかったのか? 95とかだったのでは?
818 名前:812 mailto:sage [2008/05/28(水) 22:11:31 ] >>814 あやや、アプリ側で吸収してあげるのは無理っぽいですか レジストリの値をいじってもらうのには抵抗ありますが致し方ないですな >>815 反応ないと寂しいのは、あるある 無茶なクレームつけられるのは困るけど、 今回の人はきちんと対話ができる人だったんで 対応するほうもやる気がでます >>817 いや、XP Proらしいっす ただ、気になる点があるとすればMP3に関連付けられてるのが Media Player Classicだってことでしょうか もしかしたら、そのせいでレジストリにキーが登録されなかったのかも レジストリの値をチェックしてもらう方向で対応してみようかと思います 皆様ありがとうございましたm(__)m
819 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:20:35 ] >>816 つwww.clootie.ru/delphi/download_dx92.html
820 名前:デフォルトの名無しさん [2008/06/01(日) 10:07:41 ] >>817 うるせ、バカ