Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi 10.3
ttp://www.embarcadero.com/jp/products/delphi
■Delphi Community Edition (無料)
iOS、Android、Windows、macOS向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
https://www.embarcadero.com/jp/products/delphi/starter
<前スレ>
くだすれDelphi(超初心者用)その57
https://mevius.5ch.net/test/read.cgi/tech/1476332514/
探検
くだすれDelphi(超初心者用)その58【Embarcadero】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/03/11(水) 18:30:39.03ID:NTiFnax/421デフォルトの名無しさん
2021/01/07(木) 00:41:31.32ID:PM727nrP >>418
???
そもそもCPU使用率が100%なんて前提は誰も話してないわけで(まぁOSのタスクスケジューリングさえなんとか稼働してりゃ例に出したコードは動くが)
机上の空論はいいからコードで示して
???
そもそもCPU使用率が100%なんて前提は誰も話してないわけで(まぁOSのタスクスケジューリングさえなんとか稼働してりゃ例に出したコードは動くが)
机上の空論はいいからコードで示して
422デフォルトの名無しさん
2021/01/07(木) 00:50:04.29ID:PM727nrP あと面倒だけど確認の為にソースおさらいしてきた
WebBrokerの送受信はTThreadから派生したTidThreadが担当してて立派にメインスレッドの子スレッドだった事をお知らせしておきます
WebBrokerの送受信はTThreadから派生したTidThreadが担当してて立派にメインスレッドの子スレッドだった事をお知らせしておきます
423デフォルトの名無しさん
2021/01/07(木) 00:51:53.74ID:sNfaNTws メインスレッドがbusyってどんな状態?
もしかして、*****中って表示されてる事?
それならあなたの言う通りです。
ウィンドウが真っ白、無応答時のCPU負荷見てみて。
Windows95だとマウスすら動かんかったわ。
もしかして、*****中って表示されてる事?
それならあなたの言う通りです。
ウィンドウが真っ白、無応答時のCPU負荷見てみて。
Windows95だとマウスすら動かんかったわ。
424デフォルトの名無しさん
2021/01/07(木) 00:55:48.92ID:sNfaNTws >>422
嘘はいけないよ
嘘はいけないよ
425デフォルトの名無しさん
2021/01/07(木) 00:59:01.61ID:yPIN+dBS426デフォルトの名無しさん
2021/01/07(木) 01:00:53.79ID:yPIN+dBS 君が勝手に想定する状態でもPPLなら大丈夫っていってるんだけど
どういうことなの?
どういうことなの?
427デフォルトの名無しさん
2021/01/07(木) 01:08:10.16ID:PM727nrP >>424
だから嘘だと言うならソコード示してって
だから嘘だと言うならソコード示してって
428デフォルトの名無しさん
2021/01/07(木) 01:08:41.78ID:PM727nrP ソコードってなんじゃw
コードね
コードね
429デフォルトの名無しさん
2021/01/07(木) 01:10:13.52ID:PM727nrP >>425
407だけどアンカー間違いだよね?
407だけどアンカー間違いだよね?
430デフォルトの名無しさん
2021/01/07(木) 01:11:03.96ID:yPIN+dBS431デフォルトの名無しさん
2021/01/07(木) 01:11:50.55ID:sNfaNTws >>426
面倒くさいのでこれが最後ね
PPLは並列プログラミングライブラリーの略で、スレッドを複数のCPUに振り分けて高速化が出来る。
通信スレッドでPPLを使う事は通常少ないと思うが、PPLを使い子プロセスを実装した場合はメインスレッドとCPUが違うので取りこぼしは無いって事。
因みにこのスレはDelphiユーザーが多いからか、話が噛み合わない、日常的にマルチスレッドアプリを作成してるC++builderでした。
おやすみ
面倒くさいのでこれが最後ね
PPLは並列プログラミングライブラリーの略で、スレッドを複数のCPUに振り分けて高速化が出来る。
通信スレッドでPPLを使う事は通常少ないと思うが、PPLを使い子プロセスを実装した場合はメインスレッドとCPUが違うので取りこぼしは無いって事。
因みにこのスレはDelphiユーザーが多いからか、話が噛み合わない、日常的にマルチスレッドアプリを作成してるC++builderでした。
おやすみ
432デフォルトの名無しさん
2021/01/07(木) 01:13:00.20ID:PM727nrP いやだから逃げる前にコードをー・・・
433デフォルトの名無しさん
2021/01/07(木) 01:13:09.84ID:yPIN+dBS434デフォルトの名無しさん
2021/01/07(木) 01:13:55.72ID:PM727nrP 受信用にスレッド作る
メインで全部やると取りこぼす可能性がある
ってだけの話が何故ここまでこじれるかなぁ
メインで全部やると取りこぼす可能性がある
ってだけの話が何故ここまでこじれるかなぁ
435デフォルトの名無しさん
2021/01/07(木) 01:16:44.70ID:PM727nrP >>431
>CPUが違うので
ダウト!
どのスレッドがどのCPU(論理コアか??)使うかはOSのタスクスケジューラーが決める事で違う論理コアか同一論理コアかは一般的なWin32アプリケーションでは意識することができない
>CPUが違うので
ダウト!
どのスレッドがどのCPU(論理コアか??)使うかはOSのタスクスケジューラーが決める事で違う論理コアか同一論理コアかは一般的なWin32アプリケーションでは意識することができない
436デフォルトの名無しさん
2021/01/07(木) 01:23:47.23ID:aDgUeF3/ すげえC++BuilderでPPL使うとCPU使用率100%の壁突破して動けるのか
未来技術やんけ
未来技術やんけ
437デフォルトの名無しさん
2021/01/07(木) 06:24:47.98ID:hT+jKrlH なんでメインスレッドがbusy=cpu使用率100%前提で話しているの?
メインスレッドbusyっていうのはメインスレッド側の処理が手一杯で受信処理に時間が割り当てられず
取りこぼしてしまうような状態を言うんでないの?
一つのスレッドがCPU食い潰して他のスレッド止めてしまうのはもはやバグの類だろう
メインスレッドbusyっていうのはメインスレッド側の処理が手一杯で受信処理に時間が割り当てられず
取りこぼしてしまうような状態を言うんでないの?
一つのスレッドがCPU食い潰して他のスレッド止めてしまうのはもはやバグの類だろう
438デフォルトの名無しさん
2021/01/07(木) 06:44:54.69ID:hT+jKrlH コード実行時のタイムスケジュールの問題とハードウエアであるCPUのリソースの問題を混ぜこぜにして論ずるからこんなことになる。
シーケンサ、乱暴に言ってしまえばプログラマブルリレー回路の出力信号の受信の話だから前者の話だと思うんだけどな。
せいぜい数ms程度の信号でしょ
シーケンサ、乱暴に言ってしまえばプログラマブルリレー回路の出力信号の受信の話だから前者の話だと思うんだけどな。
せいぜい数ms程度の信号でしょ
439デフォルトの名無しさん
2021/01/07(木) 14:24:42.44ID:iqEdBFD0 なんかやけに伸びてるな
10年近くC++Builder使ってるけど>>431が何を言っているのか理解が追いつかん
10年近くC++Builder使ってるけど>>431が何を言っているのか理解が追いつかん
440デフォルトの名無しさん
2021/01/07(木) 21:39:31.17ID:3QA7toxp ざっと読んでみたけどPPLの並列スレッドとメインスレッドからCreateしたTThreadは別物って考えてそうだね。
メインスレッドのビジー状態が子スレッドを引きずるってTThread.Createで実行するかSynchronize内で実行しないとそんな事にはならないんだけども。
むかーしそれこそDelphi使い始めた頃、TThread.Create内にスレッドでやりたい処理書いちゃって応答なしになったの思い出したわ。なつかしいな。
メインスレッドのビジー状態が子スレッドを引きずるってTThread.Createで実行するかSynchronize内で実行しないとそんな事にはならないんだけども。
むかーしそれこそDelphi使い始めた頃、TThread.Create内にスレッドでやりたい処理書いちゃって応答なしになったの思い出したわ。なつかしいな。
441デフォルトの名無しさん
2021/01/08(金) 07:33:08.43ID:nf9CXDv3 そもそも>>397は負荷を聞いてて
アプリケーションのフリーズの話はしてない
メインVCLスレッドでも別スレッドでも同じ処理の負荷は変わらない
もし割り込みなし、OSのタイムスライスも気になるレベルで
入力監視がしたいと言うなら
sleepもなしにビジーウェイトを全力で回し続けるという事で、
そのスレッドはコア一つを可能な最大限まで食いつぶす
スレッドの優先度を上げれば取りこぼしや遅延が減る代わりに
他のプロセス、スレッドの実行に支障が出る可能性がある
そんだけの話では?
質問が言葉不足で意図や前提条件が不明だから本当に欲しい答えは分からんけど
アプリケーションのフリーズの話はしてない
メインVCLスレッドでも別スレッドでも同じ処理の負荷は変わらない
もし割り込みなし、OSのタイムスライスも気になるレベルで
入力監視がしたいと言うなら
sleepもなしにビジーウェイトを全力で回し続けるという事で、
そのスレッドはコア一つを可能な最大限まで食いつぶす
スレッドの優先度を上げれば取りこぼしや遅延が減る代わりに
他のプロセス、スレッドの実行に支障が出る可能性がある
そんだけの話では?
質問が言葉不足で意図や前提条件が不明だから本当に欲しい答えは分からんけど
442デフォルトの名無しさん
2021/01/08(金) 10:09:57.74ID:pqOuylpr >>441
そんな実装メインスレッドでやったらそれこそずっと応答なしのアプリが完成するわ
そんな実装メインスレッドでやったらそれこそずっと応答なしのアプリが完成するわ
443デフォルトの名無しさん
2021/01/08(金) 10:11:08.99ID:GVXTbeyU どうやったら応答しないアプリを作れるか考察するスレですね
444デフォルトの名無しさん
2021/01/08(金) 15:11:32.92ID:gj5d/kIu445デフォルトの名無しさん
2021/01/10(日) 16:47:14.22ID:YM2bPyCT Turbo Pascal 6.0(pc98)流したら嬉しい?
446デフォルトの名無しさん
2021/01/10(日) 17:32:11.28ID:fr5GfUjj >>445
流す、とは?
流す、とは?
447デフォルトの名無しさん
2021/01/10(日) 18:38:31.06ID:7jcMDU2L 流すのはトイレかそうめんぐらいしかない
448デフォルトの名無しさん
2021/01/10(日) 18:50:01.17ID:mPqKhk55 背中もお願いします
449デフォルトの名無しさん
2021/01/10(日) 19:59:15.57ID:LDe5rN+a >>445
ありがとう
ありがとう
450デフォルトの名無しさん
2021/01/11(月) 01:31:52.59ID:DVSPXgZF Kylix3なら封も開封して無いのが内にあるぞ
使えねー
使えねー
451デフォルトの名無しさん
2021/01/11(月) 14:46:44.02ID:jR/gx3T3 ディスク壊れてた
452デフォルトの名無しさん
2021/01/12(火) 15:31:20.64ID:5cL+u1HJ SQLサーバーからデータを読み込んでExcelの表を作るソフトを作ろうと考えています。
会社のPCにDelphi10.4が入っています。
すごくざっくりした質問なのですが標準のVCLの機能だけで作れますでしょうか?
DelphiからExcelを扱うのは練習してできるようになりました。
出来るか出来ないかならできるという答えなのでしょうが、この程度の質問をするような
レベルの人間にはハードルが高すぎますか?
会社のPCにDelphi10.4が入っています。
すごくざっくりした質問なのですが標準のVCLの機能だけで作れますでしょうか?
DelphiからExcelを扱うのは練習してできるようになりました。
出来るか出来ないかならできるという答えなのでしょうが、この程度の質問をするような
レベルの人間にはハードルが高すぎますか?
453デフォルトの名無しさん
2021/01/12(火) 15:43:48.11ID:j/YjggYo454デフォルトの名無しさん
2021/01/12(火) 15:45:57.35ID:j/YjggYo 何をやろうとしていて
今はこうやってるけど
ここの動作ができないので方法を知りたい
またはここでこういうエラーが出る
みたいな情報があれば優しい兄貴達がメッセージくれるよきっと
今はこうやってるけど
ここの動作ができないので方法を知りたい
またはここでこういうエラーが出る
みたいな情報があれば優しい兄貴達がメッセージくれるよきっと
455デフォルトの名無しさん
2021/01/12(火) 16:22:19.37ID:I6fF/sQE でもこんな頭の弱い人が作ったプログラムを使わされる方、もしくは辞めたり移動した後にメンテされられ方にとっては迷惑なんだよ
456452
2021/01/12(火) 17:07:33.71ID:5cL+u1HJ ありがとうございます。
ぼちぼち調べながらやっていきます。
また、質問させてもらうと思いますがよろしくお願いします。
自分の勉強の為なので、周りには迷惑かけるような事には
ならないと思います。
ご心配どうもです。
ぼちぼち調べながらやっていきます。
また、質問させてもらうと思いますがよろしくお願いします。
自分の勉強の為なので、周りには迷惑かけるような事には
ならないと思います。
ご心配どうもです。
457デフォルトの名無しさん
2021/01/12(火) 19:24:04.36ID:dZe4Jb1o458デフォルトの名無しさん
2021/01/12(火) 22:25:33.13ID:j/YjggYo >>456
がんばれー
がんばれー
459デフォルトの名無しさん
2021/01/13(水) 00:30:16.80ID:bv7dWCc1460デフォルトの名無しさん
2021/01/13(水) 09:36:17.06ID:++3RBKQw >>459
こういうバカっていなくならないよねw
こういうバカっていなくならないよねw
461デフォルトの名無しさん
2021/01/13(水) 17:28:25.54ID:XY6XuwJD >>460
上司にクソコード怒られてイライラしてるんだよきっと
上司にクソコード怒られてイライラしてるんだよきっと
462デフォルトの名無しさん
2021/01/13(水) 17:30:18.19 まぁどっちの気持ちもわかる
463デフォルトの名無しさん
2021/01/13(水) 17:35:13.75ID:Mb95xbD5 TListViewのヘッダが白くなるバグ回避法教えてよ
464デフォルトの名無しさん
2021/01/13(水) 17:50:37.60ID:OOEmtSqw OwnerDrawで塗りつぶし処理実装すりゃいいんじゃね
465デフォルトの名無しさん
2021/01/13(水) 17:53:22.33ID:Mb95xbD5 >>464
ヘッダの色を変えるならそれでいいんだけど
デフォでヘッダが真っ白になっててアレ
どうやらOSの設定に依存しているみたいって事がわかったんだけど
Win10の場合どこでその設定があるのかがわからない
TListViewのヘッダの色に影響するWin10の設定教えてエロくさい
ヘッダの色を変えるならそれでいいんだけど
デフォでヘッダが真っ白になっててアレ
どうやらOSの設定に依存しているみたいって事がわかったんだけど
Win10の場合どこでその設定があるのかがわからない
TListViewのヘッダの色に影響するWin10の設定教えてエロくさい
466デフォルトの名無しさん
2021/01/13(水) 18:04:52.43ID:Mb95xbD5 ちな、TStringGridの固定セルも同様にデフォで白になっとぇr
設計時にTStringGridやTListViewを貼り付けたら既に白
それでexeを作成し実行しても白なんだけど、
別のPCで実行するとちゃんとヘッダに色がついてるのでOS設定っぽい
何か気が付いたらこんなんなってた何時設定かえたんだろか
設計時にTStringGridやTListViewを貼り付けたら既に白
それでexeを作成し実行しても白なんだけど、
別のPCで実行するとちゃんとヘッダに色がついてるのでOS設定っぽい
何か気が付いたらこんなんなってた何時設定かえたんだろか
467デフォルトの名無しさん
2021/01/13(水) 18:17:32.16ID:OOEmtSqw 自分でどっかのプロパティいじった結果ならまっさらなプロジェクトで最初から作り直せばいいんじゃね
468デフォルトの名無しさん
2021/01/13(水) 19:09:29.35ID:d1Rkm+bX TListviewの諸問題にはもしtsReportで使ってるなら
いっそVirtualTreeviewなどに乗り換えるのも一つの手
TListviewの描画遅いし
いっそVirtualTreeviewなどに乗り換えるのも一つの手
TListviewの描画遅いし
469デフォルトの名無しさん
2021/01/13(水) 20:58:05.24ID:+S7gAlIH 10.4.1のTSpeedButtonおよびそれに派生するバグの件
470デフォルトの名無しさん
2021/01/13(水) 21:02:26.10ID:+S7gAlIH 10.4.1のTSpeedButtonおよびそれに派生するバグの件
QCのコメントが荒れてて、Marco Cantuが釈明する羽目になってるな。
Marcoはβテストに参加してくれといってるが、フリーソフトコミュじゃあるまいし
仕事でDelphiを使っててその開発上でバグに遭遇して困っているわけで、
俺たちはバグFixを期待してサブスク料を払ってるんだという突っ込みは当然だよな。
QCのコメントが荒れてて、Marco Cantuが釈明する羽目になってるな。
Marcoはβテストに参加してくれといってるが、フリーソフトコミュじゃあるまいし
仕事でDelphiを使っててその開発上でバグに遭遇して困っているわけで、
俺たちはバグFixを期待してサブスク料を払ってるんだという突っ込みは当然だよな。
471デフォルトの名無しさん
2021/01/13(水) 21:43:58.51ID:72pGagZC472デフォルトの名無しさん
2021/01/18(月) 20:25:38.96ID:Hfw9auVI 超基本機能のデグレのバグ指摘したらβテストに参加せよって
なんてメーカーだよ
今は何人が作ってるんだっけ?
なんてメーカーだよ
今は何人が作ってるんだっけ?
473デフォルトの名無しさん
2021/01/18(月) 23:45:51.46ID:s11ixUhB アメリカ人
474デフォルトの名無しさん
2021/01/21(木) 17:45:55.62ID:5uOPQELD475デフォルトの名無しさん
2021/01/23(土) 17:02:57.42ID:j761FKKd >>20
メモリーリークを防ぐためにParentを指定するというのは、どうやってやるのですか?
メモリーリークを防ぐためにParentを指定するというのは、どうやってやるのですか?
476デフォルトの名無しさん
2021/01/23(土) 20:04:23.97ID:cQOSINeL ParentじゃなくてOwnerだなぁ
Thoge.Create(AOwner);
AOwnerが破棄される時に一緒に破棄される(はず)
俺はなんだか気持ち悪いからCreateした物は明示的にどっかで破棄してるけど
Thoge.Create(AOwner);
AOwnerが破棄される時に一緒に破棄される(はず)
俺はなんだか気持ち悪いからCreateした物は明示的にどっかで破棄してるけど
477デフォルトの名無しさん
2021/01/24(日) 01:46:16.84ID:OkXYdm3O >>476
ありがとう
ありがとう
478デフォルトの名無しさん
2021/01/28(木) 00:28:57.27ID:/eIE0m5X レンタルサーバーのMySQLに接続したいのですがFDConnectionにSSHのパスフレーズを書く場所ってどこでしょうか.
よろしくお願いします。
よろしくお願いします。
479478
2021/01/28(木) 00:31:26.38ID:/eIE0m5X すみません、途中で送ってしまいました。
そもそも接続に使うのはFDConnectionでよかったでしょうか。
そもそも接続に使うのはFDConnectionでよかったでしょうか。
480デフォルトの名無しさん
2021/01/28(木) 00:51:39.09ID:hXwW1wFB481478
2021/01/28(木) 10:28:21.01ID:/eIE0m5X 有難うございます。
私に知識がなくMySQL Workbenchで接続ができたので、MySQL Workbenchと比べて設定内容が
違うので戸惑っている現状です。
>>478の質問以前に理解してなさすぎとわかりました。
(ネットの知識もあまりありません。)
MySQL WorkbenchとFDConnectionの比較になるのですが確認と質問をさせて下さい。
私が借りているサーバーのことをAサーバーとさせてもらいます。
1.ServerはAサーバーのIPアドレス?
2.MySQL Workbenchにはデータベースのホスト名とデータベース名を設定するのですが
FDConnectionではデータベースのホスト名はどこに書くのでしょうか?
3.Aサーバーへの接続時のユーザー名とパスワードはどこに書くのでしょうか?
4.教えていただいたヘルプにはSSLの事が書いてあったのですが、SSHでの接続はできないのでしょうか?
長くなって申し訳ないですがよろしくお願いします。
私に知識がなくMySQL Workbenchで接続ができたので、MySQL Workbenchと比べて設定内容が
違うので戸惑っている現状です。
>>478の質問以前に理解してなさすぎとわかりました。
(ネットの知識もあまりありません。)
MySQL WorkbenchとFDConnectionの比較になるのですが確認と質問をさせて下さい。
私が借りているサーバーのことをAサーバーとさせてもらいます。
1.ServerはAサーバーのIPアドレス?
2.MySQL Workbenchにはデータベースのホスト名とデータベース名を設定するのですが
FDConnectionではデータベースのホスト名はどこに書くのでしょうか?
3.Aサーバーへの接続時のユーザー名とパスワードはどこに書くのでしょうか?
4.教えていただいたヘルプにはSSLの事が書いてあったのですが、SSHでの接続はできないのでしょうか?
長くなって申し訳ないですがよろしくお願いします。
482デフォルトの名無しさん
2021/01/28(木) 10:48:33.00ID:hXwW1wFB >>481
SSH TunnelとFireDACのMySQL接続は全く別の機能
何某かのSSH Clientコンポーネント(またはSSH Tunnel機能を持つSSHクライアントソフト)でサーバーにSSH接続してlocalhoatへFireDACを接続する
どこに書くのでしょうか?とか丸投げしてないでちょっとは自分でトライアンドエラーしよう
SSH TunnelとFireDACのMySQL接続は全く別の機能
何某かのSSH Clientコンポーネント(またはSSH Tunnel機能を持つSSHクライアントソフト)でサーバーにSSH接続してlocalhoatへFireDACを接続する
どこに書くのでしょうか?とか丸投げしてないでちょっとは自分でトライアンドエラーしよう
483デフォルトの名無しさん
2021/01/28(木) 14:45:42.45ID:/eIE0m5X >>482
有難うございます。
丸投げしたつもりはないのですが申し訳ないです。
ググってもDelphi関係は英語ばかりでMySQL Workbenchの説明を見ながら何とか接続できた感じなので
FDConnectionのテストで全然接続できなくて何が間違えているのかさえ良くわからなくて質問させてもらいました。
自分の知識ではだめそうなので他の手を考えます。
ありがとうございました。
有難うございます。
丸投げしたつもりはないのですが申し訳ないです。
ググってもDelphi関係は英語ばかりでMySQL Workbenchの説明を見ながら何とか接続できた感じなので
FDConnectionのテストで全然接続できなくて何が間違えているのかさえ良くわからなくて質問させてもらいました。
自分の知識ではだめそうなので他の手を考えます。
ありがとうございました。
484デフォルトの名無しさん
2021/01/28(木) 17:17:16.92ID:/fB2idDN 初心者スレなんでいいと思うぜ
回答してくれる人がいるかは別だが
回答してくれる人がいるかは別だが
485481
2021/01/29(金) 15:09:24.05ID:08mxf/Xc >>482さんの
何某かのSSH Clientコンポーネント(またはSSH Tunnel機能を持つSSHクライアントソフト)でサーバーにSSH接続してlocalhoatへFireDACを接続する
をもとにググりまくってなんとか外部サーバーのMySQLと繋ぐことが出来ました。
ありがとうございました。
何某かのSSH Clientコンポーネント(またはSSH Tunnel機能を持つSSHクライアントソフト)でサーバーにSSH接続してlocalhoatへFireDACを接続する
をもとにググりまくってなんとか外部サーバーのMySQLと繋ぐことが出来ました。
ありがとうございました。
486デフォルトの名無しさん
2021/01/29(金) 15:27:17.80ID:v1y4KIIs487デフォルトの名無しさん
2021/01/29(金) 22:59:53.84ID:7ZkjE6Dj 10.3だけどListViewのGroupsってクリアしちゃまずいの?
クリアしてもIDの値がリセットされずに増え続けて
このあやしいIDをListViewItemのGroupIDに割り当てると項目が表示されなくなる
ListView1.Groups.Clear;
var gi := ListView1.Groups.Add;
// gi.ID => 0
ListView1.Groups.Clear;
gi := ListView1.Groups.Add;
// gi.ID => 1
ListView1.Groups.Clear;
gi := ListView1.Groups.Add;
// gi.ID => 2
この現象のせいで外部ファイルを読み込んでGroupsを(再)構成するというやり方が破綻する
Clearする前なら設計時のGroupsを使ったり動的にAddしていっても正常に動作している
今はClearせずにGroupsを検索してすでにあったらその項目を使い回すというコードでしのいでいるけど実質的なメモリリーク状態になっている
クリアしてもIDの値がリセットされずに増え続けて
このあやしいIDをListViewItemのGroupIDに割り当てると項目が表示されなくなる
ListView1.Groups.Clear;
var gi := ListView1.Groups.Add;
// gi.ID => 0
ListView1.Groups.Clear;
gi := ListView1.Groups.Add;
// gi.ID => 1
ListView1.Groups.Clear;
gi := ListView1.Groups.Add;
// gi.ID => 2
この現象のせいで外部ファイルを読み込んでGroupsを(再)構成するというやり方が破綻する
Clearする前なら設計時のGroupsを使ったり動的にAddしていっても正常に動作している
今はClearせずにGroupsを検索してすでにあったらその項目を使い回すというコードでしのいでいるけど実質的なメモリリーク状態になっている
488デフォルトの名無しさん
2021/01/30(土) 01:19:38.77ID:fQLcTFFI ソース見て何してるか調べたほうが早いのでは
489デフォルトの名無しさん
2021/01/30(土) 09:51:46.34ID:LGk+5gcn >>487
なんかバグっぽいね
ListView.Groups.Clear したら NextGroupIDは1に設定されるのに
Groups.Addしたら反映されずCrear前のGroupID + 1になってしまう
なんかバグっぽいね
ListView.Groups.Clear したら NextGroupIDは1に設定されるのに
Groups.Addしたら反映されずCrear前のGroupID + 1になってしまう
490デフォルトの名無しさん
2021/01/30(土) 10:01:14.58ID:LGk+5gcn >>489
と書いた後にソース見たんだけど
ListView.Groups.Clear じゃなくて ListView.Groups.ClearAndResetID を使えば
IDも0にリセットされるのに気付いた。
と書いた後にソース見たんだけど
ListView.Groups.Clear じゃなくて ListView.Groups.ClearAndResetID を使えば
IDも0にリセットされるのに気付いた。
491デフォルトの名無しさん
2021/02/01(月) 09:36:39.55ID:utVqb3+S そういう仕様か
492デフォルトの名無しさん
2021/02/02(火) 01:05:38.43ID:7g9y5NW4 Delphi10.4を使っています。
TEditにデータを入力してからMySQLに対してTFDQueryでSQL文を実行しています。
SQLは実行はできてデータベースも更新されるのですが、DBGridが真っ白になり表示がされません。
そこでSQLを実行した後に下記のようにしています。
FDQuery1.ExecSQL;
FDQuery1.sql.text := 'select * from DB_hoge';
.FDQuery1.open;
これでDBGridに表示はされるのですが、皆さんもこんな感じですか?
また、これだと先頭行に選択行が行ってしまいます。
例えば10行目の内容変更後も10行目が選択された状態にするにはどうすればいいでしょうか?
よろしくお願いします。
TEditにデータを入力してからMySQLに対してTFDQueryでSQL文を実行しています。
SQLは実行はできてデータベースも更新されるのですが、DBGridが真っ白になり表示がされません。
そこでSQLを実行した後に下記のようにしています。
FDQuery1.ExecSQL;
FDQuery1.sql.text := 'select * from DB_hoge';
.FDQuery1.open;
これでDBGridに表示はされるのですが、皆さんもこんな感じですか?
また、これだと先頭行に選択行が行ってしまいます。
例えば10行目の内容変更後も10行目が選択された状態にするにはどうすればいいでしょうか?
よろしくお願いします。
493デフォルトの名無しさん
2021/02/02(火) 05:07:12.22ID:lxj5XU1q >>492
どーしてもSQL文でやりたい場合
procedure hogehoge;
var
Qry : TFDQuery;
begin
Qry := TFDQuery.Create(nil);
try
Qry.Connection := FDQuery1.Connection;
Qry.SQL.text := 'update nantoka kantoka';
Qry.ExecSQL;
finally
FreeAndNil(Qry);
end;
if FDQuery1.Active then begin
FDQuery1.Refresh;
end else begin
FDQuery1.Open;
end;
end;
どーしてもSQL文でやりたい場合
procedure hogehoge;
var
Qry : TFDQuery;
begin
Qry := TFDQuery.Create(nil);
try
Qry.Connection := FDQuery1.Connection;
Qry.SQL.text := 'update nantoka kantoka';
Qry.ExecSQL;
finally
FreeAndNil(Qry);
end;
if FDQuery1.Active then begin
FDQuery1.Refresh;
end else begin
FDQuery1.Open;
end;
end;
494デフォルトの名無しさん
2021/02/02(火) 05:09:47.68ID:lxj5XU1q >>492
FDQueryの関数を使う場合
procedure hogehoge;
begin
FDQuery1.Edit; //DBのカーソルを編集したいレコードに合わせる事
FDQuery1.FieldByName('fugafuga').Value := something;
FDQuery1.Post;
end;
FDQueryの関数を使う場合
procedure hogehoge;
begin
FDQuery1.Edit; //DBのカーソルを編集したいレコードに合わせる事
FDQuery1.FieldByName('fugafuga').Value := something;
FDQuery1.Post;
end;
495デフォルトの名無しさん
2021/02/02(火) 05:10:33.84ID:lxj5XU1q トランザクションとかその他の面倒な事はすべてすっ飛ばしてるから適宜追加して
496デフォルトの名無しさん
2021/02/02(火) 06:03:32.97ID:XgMLtpK0 >>492
既存行の状態を管理したいならTBookmarkを使えばよいかと思う
既存行の状態を管理したいならTBookmarkを使えばよいかと思う
497492
2021/02/02(火) 13:11:27.23ID:7g9y5NW4 皆さん、ありがとうございました。
希望通りの動きができました。
TFDQueryとTFDTableは基本同じことができると思っていいのでしょうか?
ヘルプにはTFDQueryのほうが効率がいいみたいなことが書いてあったのと、名前からSQL文
を扱うのに都合が良いのかな?と思った程度で使っています。
Tableを使うのが一般的なのでしょうか?
希望通りの動きができました。
TFDQueryとTFDTableは基本同じことができると思っていいのでしょうか?
ヘルプにはTFDQueryのほうが効率がいいみたいなことが書いてあったのと、名前からSQL文
を扱うのに都合が良いのかな?と思った程度で使っています。
Tableを使うのが一般的なのでしょうか?
498デフォルトの名無しさん
2021/02/02(火) 15:31:58.02ID:lxj5XU1q 想定通りの動作してるなら好きな方使えばいい
499デフォルトの名無しさん
2021/02/02(火) 16:56:46.94ID:rAxQwi5Z そもそも排他処理とか他で使ってるとか考えない個人レベルのプログラムで笑える
500デフォルトの名無しさん
2021/02/02(火) 17:14:11.70ID:+YBVnJ9D マウント取りたがりおじさんがやってきたw
501デフォルトの名無しさん
2021/02/02(火) 17:18:17.54ID:XgMLtpK0502デフォルトの名無しさん
2021/02/02(火) 17:18:37.66ID:lxj5XU1q すぐ下の495くらいは読んでほしいな
503492
2021/02/03(水) 01:06:08.16ID:eL+KspiW 皆さん、ありがとうございました。
トランザクションのことは知らなかったので助かりました。
Delphiのヘルプを読んだりググったりして、結局ヘルプのサンプルに倣ったコードを書きました。
これが自分の環境に合っているかは分からないのですが、とりあえず害はないみたいなので
様子見です。
また、聞きに来ることになると思いますがよろしくお願いします。
トランザクションのことは知らなかったので助かりました。
Delphiのヘルプを読んだりググったりして、結局ヘルプのサンプルに倣ったコードを書きました。
これが自分の環境に合っているかは分からないのですが、とりあえず害はないみたいなので
様子見です。
また、聞きに来ることになると思いますがよろしくお願いします。
504デフォルトの名無しさん
2021/02/03(水) 03:40:44.27ID:Fxo5X5Aw こんな奴を雇うクズ会社
505デフォルトの名無しさん
2021/02/06(土) 03:42:34.70ID:7O9KzLyl Community Editionをインストールしても最後に「BDS.exeが見つかりません」
というエラーが出て失敗する 何度やり直してもダメ もう入れるの諦めた・・
というエラーが出て失敗する 何度やり直してもダメ もう入れるの諦めた・・
506デフォルトの名無しさん
2021/02/06(土) 11:55:17.38ID:v0k5HBI3 >>505
よくわからんが、Windows Defenderの履歴は見た?
よくわからんが、Windows Defenderの履歴は見た?
507デフォルトの名無しさん
2021/02/06(土) 18:22:25.50ID:2QF+wrzj >>506
ESETを入れているので、DefenderはOFFになっている
エラーの原因は不明
最後の手段で、7GBもあるオフラインインストーラーのISOを
数時間かけてダウソして入れたら、何とか入った
Community Edition用のキーを入れたら、ちゃんとそれになった
ESETを入れているので、DefenderはOFFになっている
エラーの原因は不明
最後の手段で、7GBもあるオフラインインストーラーのISOを
数時間かけてダウソして入れたら、何とか入った
Community Edition用のキーを入れたら、ちゃんとそれになった
508デフォルトの名無しさん
2021/02/06(土) 18:31:10.66ID:iAhLUnF1509デフォルトの名無しさん
2021/02/06(土) 20:18:51.32ID:pFF8LBVY Community Editionてまだ10.3.3のまま?
510デフォルトの名無しさん
2021/02/06(土) 21:49:22.40ID:NS321T+y >>508
以前アップデート途中で固まって再起動したら。
ライセンス情報まで消えて、再インストール等非常に手間取った。
今もアップデータが有るって表情さててるけど怖くてそのまま。(10.4)
いつになったら、何も考えないでアップデート出来るのだろう? トラウマです。
以前アップデート途中で固まって再起動したら。
ライセンス情報まで消えて、再インストール等非常に手間取った。
今もアップデータが有るって表情さててるけど怖くてそのまま。(10.4)
いつになったら、何も考えないでアップデート出来るのだろう? トラウマです。
511デフォルトの名無しさん
2021/02/08(月) 21:19:22.83ID:mnaXFAst データベースのことで教えて下さい。
MySQLに FDQuery -> DatasetProvider -> Clientdataset -> Datasource -> DBGrid
こんな感じで接続しているのですが
テーブルでdecimal(11,2)と設定している所がオーバーフローと表示されてしまいます。
多分、ClientdatasetのFieldDefsのDataTypeがおかしいと思うのですが。。。
(ftBCDになっていました。)
MySQLのdecimal(11,2)に対応するDataTypeの設定は何になるのでしょうか?
因みにFDQuery -> Datasource -> DBGridと接続する時は正常に表示されます。
宜しくお願い致します。
MySQLに FDQuery -> DatasetProvider -> Clientdataset -> Datasource -> DBGrid
こんな感じで接続しているのですが
テーブルでdecimal(11,2)と設定している所がオーバーフローと表示されてしまいます。
多分、ClientdatasetのFieldDefsのDataTypeがおかしいと思うのですが。。。
(ftBCDになっていました。)
MySQLのdecimal(11,2)に対応するDataTypeの設定は何になるのでしょうか?
因みにFDQuery -> Datasource -> DBGridと接続する時は正常に表示されます。
宜しくお願い致します。
512デフォルトの名無しさん
2021/02/08(月) 22:40:51.73ID:69CLP1ii currencyはどうかな
513デフォルトの名無しさん
2021/02/08(月) 23:17:29.83ID:4klqN5oD >>511
CDSじゃなくてTFDMemTable噛ませてみて
CDSじゃなくてTFDMemTable噛ませてみて
514デフォルトの名無しさん
2021/02/10(水) 05:49:52.15ID:0CK/W94g コードテンプレートのリロードの方法がわかったぞ
code_templatesと同じ場所に
code_template_reloadというフォルダを作る
フォルダ名は何でも良いんだがとにかくcode_templatesの真上に来るような名前にする
例えばbegin.xmlというテンプレートに変更を加えたら
このファイルをつまんでreloadフォルダに移動すると
テンプレート一覧からbeginがフッと消える
そしたらexplorerで^zして移動を取り消すとまたファイルが戻って
修正した内容が反映される
新規作成したファイルもこの方法で反映される
これで細かい試行錯誤が楽にできる
いっそ.xmlファイル全部をガバっと移動して5秒後に戻すスクリプト書いて
ツールメニューから呼び出せばよいのかもしれない
code_templatesと同じ場所に
code_template_reloadというフォルダを作る
フォルダ名は何でも良いんだがとにかくcode_templatesの真上に来るような名前にする
例えばbegin.xmlというテンプレートに変更を加えたら
このファイルをつまんでreloadフォルダに移動すると
テンプレート一覧からbeginがフッと消える
そしたらexplorerで^zして移動を取り消すとまたファイルが戻って
修正した内容が反映される
新規作成したファイルもこの方法で反映される
これで細かい試行錯誤が楽にできる
いっそ.xmlファイル全部をガバっと移動して5秒後に戻すスクリプト書いて
ツールメニューから呼び出せばよいのかもしれない
515デフォルトの名無しさん
2021/02/10(水) 11:09:38.15ID:w5zc+tMZ community版さすがにアプデ遅すぎだろ
516デフォルトの名無しさん
2021/02/10(水) 12:03:36.20ID:v1Zy3l0+ >>512,513
ありがとうございました。
教えてもらったことを試したのですが改善されず色々調べてみたら
MySQL側とFDConnection側の文字コードの設定の食い違いでオーバーフロー
になるようでした。
少数を使わなければ正しく表示できていたので気づきませんでした。
お騒がせしました。
ありがとうございました。
教えてもらったことを試したのですが改善されず色々調べてみたら
MySQL側とFDConnection側の文字コードの設定の食い違いでオーバーフロー
になるようでした。
少数を使わなければ正しく表示できていたので気づきませんでした。
お騒がせしました。
517デフォルトの名無しさん
2021/02/10(水) 13:10:47.83ID:ulzQqER8 ここに書くぐらいだから初心者さんなのかもしれないが
>FDQuery -> Datasource -> DBGrid
じゃあなんでこっちはOKだったかの情報ももらえるとうれしいよね
>FDQuery -> Datasource -> DBGrid
じゃあなんでこっちはOKだったかの情報ももらえるとうれしいよね
518デフォルトの名無しさん
2021/02/10(水) 20:13:21.52ID:yblOKi5a もう終わった言語だよね?
519デフォルトの名無しさん
2021/02/10(水) 20:19:20.50ID:77qVEHiH520デフォルトの名無しさん
2021/02/10(水) 22:14:44.95ID:FfKq3R6D521デフォルトの名無しさん
2021/02/10(水) 22:53:51.82ID:Be7o6/0k 規約を守ってないかどうか、どうやって判定してるんだろう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 押井守の映画「天使のたまご」が4Kリマスターされて上映されるみたいなんだけどこれ面白いの? [268718286]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
