Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi XE6 Professional/Enterprise/Ultimate/Architect エディション(トライアル版有)
64bit Windows、Mac OS XからiOS、Androidのアプリも開発可能。ライブラリのソースコード付き。アカデミックライセンス有り。
旧バージョン(XE6/5/4/3/2/XE/2010/2009/2007/Delphi 7)のライセンス取得とダウンロードが可能。(アカデミック不可)
ttp://www.embarcadero.com/jp/products/delphi
■Delphi XE6 Starter エディション
個人/5人以下の企業・組織向け。年間売上1000US$以内の商用開発可。
(※)Delphi、Visual Studio等の有償/無償の開発ツールユーザーが対象。インストール確認は特に行わない。
ttp://www.embarcadero.com/jp/products/delphi/starter
■Embarcadero RAD Studio XE6 (Delphi、C++Builder、HTML5 Builder等を含むビジュアル開発スイート)
ttp://www.embarcadero.com/jp/products/rad-studio
<前スレ>
くだすれDelphi(超初心者用)その56
http://echo.2ch.net/test/read.cgi/tech/1405783063/
<過去スレ>
DelWiki (Delphi 関連の過去スレッド)※行方不明
ttp://delwiki.info/?
探検
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2016/10/13(木) 13:21:54.84ID:7i5E+q2+259253
2017/03/16(木) 09:51:28.35ID:IMOOaoXR 皆さん、ありがとうございます。
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
260デフォルトの名無しさん
2017/03/16(木) 17:53:22.67ID:Xe646fvV どこからが使いすぎだと思う?
261デフォルトの名無しさん
2017/03/16(木) 18:29:10.53ID:vq3uRAd1 >>259
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。
クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。
クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
262デフォルトの名無しさん
2017/03/17(金) 07:45:46.44ID:88SBOT8h >>259
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
263デフォルトの名無しさん
2017/03/17(金) 09:01:04.72ID:88SBOT8h あ、もしかしたら質問に答えてなかったかな?
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
264デフォルトの名無しさん
2017/03/17(金) 17:25:37.85ID:c2lVMe4f265デフォルトの名無しさん
2017/03/18(土) 10:42:58.16ID:TEQZ8ThN266デフォルトの名無しさん
2017/03/18(土) 11:15:40.91ID:uhuX0RUO OSのタスクスケジューリングやスレッド、Delphiのメインスレッドの話がごっちゃ混ぜになっててカオスカオス
267デフォルトの名無しさん
2017/03/18(土) 11:18:08.58ID:At1yjhtj 細かい処理が交互にっていつの時代のタスク割り当ての話してるんだ
268デフォルトの名無しさん
2017/03/18(土) 17:26:39.99ID:qhwfKSm6 >マルチコアなどの詳細な仕組みが現話題の結論に影響を与えるものではない
今の話題においてこれは正しいと思う。
>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
今の話題においてこれは正しいと思う。
>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
269デフォルトの名無しさん
2017/03/18(土) 17:42:46.56ID:uhuX0RUO 中途半端に説明するからややこしくなる
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する
くらいでイナフ
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する
くらいでイナフ
270デフォルトの名無しさん
2017/03/18(土) 23:22:19.03ID:toYG3enn >>262が変な説明を入れたのが元凶だ
271デフォルトの名無しさん
2017/03/19(日) 10:14:13.46ID:pPSf+p35 >>269
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
272デフォルトの名無しさん
2017/03/19(日) 10:31:00.81ID:Zac56zGn >>271
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい
まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい
まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
273デフォルトの名無しさん
2017/03/19(日) 12:59:15.63ID:pPSf+p35 結局「スレッド」という英単語が同いう意味かってだけだね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
274デフォルトの名無しさん
2017/03/19(日) 16:36:19.37ID:z/4QTPa3 で、そのメモリ圧迫とやらは今回の質問のどこにかすっているのかね?
275デフォルトの名無しさん
2017/03/19(日) 18:47:31.53ID:Zac56zGn どんどん話題がすり変わっていくな
276デフォルトの名無しさん
2017/03/20(月) 01:59:24.49ID:Qzpue34I >>262
が悔し紛れに難癖つけてるだけっしょ
が悔し紛れに難癖つけてるだけっしょ
277デフォルトの名無しさん
2017/03/20(月) 07:33:47.40ID:/HDavIr2 予想どおりの反応ですw
278デフォルトの名無しさん
2017/03/23(木) 17:32:52.95ID:0AhE1jWZ 10.2tokyo入れて見たんだけど、10.1でgetitから入れたコンパーネントが入れられなくてプロジェクト開けられない。
エンバカ何なんだ?
エンバカ何なんだ?
279デフォルトの名無しさん
2017/03/24(金) 07:00:18.71ID:w0n9pMnW280デフォルトの名無しさん
2017/03/25(土) 07:13:02.05ID:Hlan26fq StarterのBerlinをTokyoにするんだけど
いったんBerlinをアンインストールするんだっけ?
いったんBerlinをアンインストールするんだっけ?
281デフォルトの名無しさん
2017/03/28(火) 04:59:23.66ID:by30piXi StarterのBerlinをインストールしたままTokyoをインストール出来ましたし、同時に起動出来ました。
公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
282デフォルトの名無しさん
2017/03/28(火) 10:13:09.88ID:o61kLVYu283デフォルトの名無しさん
2017/03/31(金) 10:26:45.88ID:SnNLRdP6 2007からXEにあげるのに、いまさらながらユニコードに取り組むんですが、
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
284283
2017/03/31(金) 10:42:53.79ID:SnNLRdP6 文字コードを確認してみたのですが
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);
のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);
のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
285デフォルトの名無しさん
2017/03/31(金) 11:27:56.20ID:tBgePiep こう言うとアレだけど
普通に使うときはユニコードとか
意識する必要ないんじゃない?
普通に使うときはユニコードとか
意識する必要ないんじゃない?
286283
2017/03/31(金) 11:48:21.75ID:SnNLRdP6 >>285
例えば、
s := Edit1.Text + 'が入力文字列';
のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
例えば、
s := Edit1.Text + 'が入力文字列';
のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
287デフォルトの名無しさん
2017/03/31(金) 12:08:45.28ID:YNGnrt5P 便乗失礼します。
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと
異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが
https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと
異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが
https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
289デフォルトの名無しさん
2017/03/31(金) 12:27:36.02ID:tBgePiep290デフォルトの名無しさん
2017/03/31(金) 12:33:03.27ID:tBgePiep291デフォルトの名無しさん
2017/04/01(土) 09:16:09.24ID:FVobg3nm >>285
逆に、常に意識してないと嵌まることがあるよ。
逆に、常に意識してないと嵌まることがあるよ。
292デフォルトの名無しさん
2017/04/01(土) 11:20:45.32ID:1uakO4Jp コンパイル時に変換
293デフォルトの名無しさん
2017/04/01(土) 14:47:04.87ID:MIBbFxu2 >>288
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。
>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。
ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。
C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。
>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。
ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。
C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
294デフォルトの名無しさん
2017/04/01(土) 16:29:34.25ID:xnSlrZsr てか簡単なサンプル作って試せば済むことじゃん
昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
295デフォルトの名無しさん
2017/04/01(土) 21:40:45.92ID:JcotD4lU 真に気を付けないといけないのは1文字に複数文字が入ってるサロゲートペア
見た目が同じだからハマる
「ば」と「ば」が違う文字とかわっかんねーよ
見た目が同じだからハマる
「ば」と「ば」が違う文字とかわっかんねーよ
296デフォルトの名無しさん
2017/04/02(日) 09:37:47.98ID:OL+frmBm 正直UTF8で統一したほうがよかったと思う
297デフォルトの名無しさん
2017/04/02(日) 09:38:21.10ID:WSPdqmkD298デフォルトの名無しさん
2017/04/02(日) 09:40:01.86ID:OL+frmBm UTF16も実は可変長という落ちなんだからややこしくなっただけだと思う
299デフォルトの名無しさん
2017/04/02(日) 10:43:02.23ID:3chV0onz >>297
2chだと化ける可能性あるから両方サロゲートペアじゃないよ
入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか
おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
2chだと化ける可能性あるから両方サロゲートペアじゃないよ
入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか
おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
300デフォルトの名無しさん
2017/04/02(日) 11:06:40.43ID:5Z3z/Zq2 は̋
301デフォルトの名無しさん
2017/04/02(日) 12:55:55.04ID:n+5RCyoZ >>295
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。
「ば」の話は合成文字だか結合文字だかそっちの話じゃん。
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。
「ば」の話は合成文字だか結合文字だかそっちの話じゃん。
302デフォルトの名無しさん
2017/04/02(日) 13:01:11.75ID:n+5RCyoZ >299
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。
303デフォルトの名無しさん
2017/04/02(日) 13:05:11.00ID:3chV0onz304デフォルトの名無しさん
2017/04/02(日) 13:10:15.31ID:n+5RCyoZ 言葉の使い方が完璧に間違ってるのに重箱のすみつつかないでっていわれてもなぁ・・
君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
305デフォルトの名無しさん
2017/04/02(日) 13:13:23.66ID:3chV0onz つまりこれこれこういう問題があってこうしましたって1から10まではしょらず正しい言葉をつかって説明しないとここには書き込むなって事ね。了解。
めんどくせ
めんどくせ
306デフォルトの名無しさん
2017/04/02(日) 13:17:10.52ID:n+5RCyoZ 完全に言葉の定義を間違ってるんだから、教えてあげただけじゃねぇかよ。
別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
307デフォルトの名無しさん
2017/04/02(日) 13:20:18.66ID:8zECKtY8 君たち ではない。
308デフォルトの名無しさん
2017/04/02(日) 13:23:02.99ID:JDqJ1ftS 言葉の定義とやらが間違ってたとしても、
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
309デフォルトの名無しさん
2017/04/02(日) 14:03:03.40ID:iqf+IrkA 俺には難しい話をしてるけど、文字扱うには正規化とやらをやって、utf8とか16とかに統一してから加工したり検索したりしないとハマるってこと?
310デフォルトの名無しさん
2017/04/02(日) 17:46:06.81ID:WSPdqmkD サロゲートペアに関連してだけど
MECUtilsとか使ってやったりするの?
今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
MECUtilsとか使ってやったりするの?
今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
311デフォルトの名無しさん
2017/04/02(日) 18:37:26.81ID:9KwT0wNW Unicode化の弊害というかなんというかだけど、
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
312デフォルトの名無しさん
2017/04/02(日) 20:31:47.10ID:n+5RCyoZ313デフォルトの名無しさん
2017/04/02(日) 20:47:01.04ID:3chV0onz314デフォルトの名無しさん
2017/04/02(日) 20:48:31.98ID:3chV0onz おっと綴り間違ってたな
System.Characterだな。また重箱の隅つつかれるところだった
System.Characterだな。また重箱の隅つつかれるところだった
315デフォルトの名無しさん
2017/04/02(日) 21:07:50.79ID:n+5RCyoZ そうなんだ。それはすまん。XE3以降買ってなくて
最新のもってなくて。
最新のもってなくて。
316デフォルトの名無しさん
2017/04/02(日) 23:41:35.03ID:9/rnzeyZ 今ってディスプレイのアスペクト比が数種類あるけど、皆さんは画面のデザインってどうしてますか?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
317デフォルトの名無しさん
2017/04/03(月) 14:57:16.50ID:r7DyphN2 時代は可変
318デフォルトの名無しさん
2017/04/03(月) 17:20:51.81ID:vwU/OCff >>316
全画面表示させない
全画面表示させない
319デフォルトの名無しさん
2017/04/03(月) 18:42:50.88ID:gM/woy0K >>316
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
320デフォルトの名無しさん
2017/04/03(月) 21:28:02.74ID:r3n0H3vn やっぱ、全画面表示させないが簡単でいいな
321デフォルトの名無しさん
2017/04/04(火) 06:32:18.18ID:vjUtddW+ >>316
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
322デフォルトの名無しさん
2017/04/12(水) 07:11:34.88ID:lM5IX7kk メモリーリークの場所ってdelphiに標準で入ってるリークを監視するやつのフルバージョン入れないと分からない?
323デフォルトの名無しさん
2017/04/16(日) 12:03:24.01ID:he8BFR5v Delphi10.1でのフル機能のfastmm4の使い方を教えてください。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
324デフォルトの名無しさん
2017/04/17(月) 16:51:42.85ID:y+L9zWaz DatetimetostringとFormatDateTimeの違いって
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
325デフォルトの名無しさん
2017/04/17(月) 17:16:23.94ID:tXRogAtk326デフォルトの名無しさん
2017/04/17(月) 20:24:58.64ID:y+L9zWaz >>325
すみません、質問をはしおりすぎでした。
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。
FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、
DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。
すみません、質問をはしおりすぎでした。
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。
FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、
DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。
327デフォルトの名無しさん
2017/04/18(火) 09:41:09.25ID:phVpBhu/ 何かとの互換性でどうしてもDT2strが欲しかったんじゃないかね
328デフォルトの名無しさん
2017/04/18(火) 15:11:31.58ID:nhn9im/Y329デフォルトの名無しさん
2017/04/18(火) 18:41:12.40ID:EH33vxsU >>326
ソースコード見てみると
FormatDateTimeはDateTimeToStringを呼び出しているだけ。
たぶん利便性(使い分けできるように)の問題だと思う。
ちなみに以下の関数が内部的にDateTimeToStringを呼び出すだけで実装されている。
function DateToStr(const DateTime: TDateTime): string;
function TimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
また同名の関数で引数の最後にTFormatSettings型が追加されたバージョンも
内部的にTFormatSettings型を引数に持つDateTimeToStringを呼び出しているだけ。
ソースコード見てみると
FormatDateTimeはDateTimeToStringを呼び出しているだけ。
たぶん利便性(使い分けできるように)の問題だと思う。
ちなみに以下の関数が内部的にDateTimeToStringを呼び出すだけで実装されている。
function DateToStr(const DateTime: TDateTime): string;
function TimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
また同名の関数で引数の最後にTFormatSettings型が追加されたバージョンも
内部的にTFormatSettings型を引数に持つDateTimeToStringを呼び出しているだけ。
331323
2017/04/19(水) 15:21:22.52ID:1b3gc8EV >>328
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
332デフォルトの名無しさん
2017/04/23(日) 00:33:57.32ID:h9OMGlcp delphi10.1までは問題なかったのにdelphi10.2にしてから
stylebookで指定したstyleが一部反映されなくなりました。
tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz
対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
stylebookで指定したstyleが一部反映されなくなりました。
tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz
対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
333デフォルトの名無しさん
2017/04/23(日) 01:24:14.01ID:6D2X13Ox >>332
Android用のスタイルを一旦削除してマージ
Android用のスタイルを一旦削除してマージ
334332
2017/04/23(日) 07:38:09.47ID:h9OMGlcp >>333
アドバイスありがとうございます。
Android用スタイルを削除してマージしてみましたが結果は同じでしたorz
もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。
同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。
また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。
実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
アドバイスありがとうございます。
Android用スタイルを削除してマージしてみましたが結果は同じでしたorz
もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。
同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。
また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。
実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
335332
2017/04/23(日) 07:50:06.92ID:h9OMGlcp >>333
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。
変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。
変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
336デフォルトの名無しさん
2017/04/27(木) 08:22:37.61ID:rpeb1FWf メッセージダイアログやショーメッセージで改行を
使うとメモリリークが出るけどなんで?
使うとメモリリークが出るけどなんで?
337デフォルトの名無しさん
2017/04/27(木) 12:14:19.99ID:nqOtHEIU バグってんじゃね
338336
2017/04/27(木) 12:36:20.33ID:axAm+D16 delphiがバグってる?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
339336
2017/04/28(金) 22:34:22.04ID:WI3n6xVG メモリーリークを調べているのですが
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
340デフォルトの名無しさん
2017/04/30(日) 09:29:58.72ID:kcq5sr/L ソースみれば?
341デフォルトの名無しさん
2017/04/30(日) 11:59:29.48ID:0p25w19v 336ではないけどソースコード見てみた
ポイントになりそうなところがアセンブリで書かれてた
ポイントになりそうなところがアセンブリで書かれてた
342デフォルトの名無しさん
2017/04/30(日) 12:08:19.89ID:VPr4LyhY それがどうかしたか
343デフォルトの名無しさん
2017/04/30(日) 23:16:41.78ID:rKLNeW5H 1. MessageDlg と同じ引数を持つ、そのユニット内にローカルな関数を書いて、MessageDlg のせいかどうか調べる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
344デフォルトの名無しさん
2017/04/30(日) 23:36:32.18ID:5yRtGq51 どのバージョンで発生したのかしら?
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
345デフォルトの名無しさん
2017/05/02(火) 01:47:15.38ID:As8TBna0 昔の経験
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
346デフォルトの名無しさん
2017/05/02(火) 08:06:56.48ID:Hq/uPbjy 「IntToStr(123)が原因でメモリーリークが起きる」
と判断した理由を開示せよ
と判断した理由を開示せよ
347デフォルトの名無しさん
2017/05/24(水) 11:04:03.05ID:ipeCfZP9 32biでも64bitでもinteger型は32bitですか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
348デフォルトの名無しさん
2017/05/24(水) 11:54:37.27ID:4nncZNTT -1 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
349デフォルトの名無しさん
2017/05/25(木) 14:51:52.47ID:qme3C1o0 Integer は 32 だけど LongInt は 32 とは限らない
350デフォルトの名無しさん
2017/05/26(金) 08:47:10.54ID:trsKQBBQ >>349
そんなことどこにも書いてないけどホント?
ttp://docwiki.embarcadero.com/RADStudio/Berlin/ja/32_%E3%83%93%E3%83%83%E3%83%88_Delphi_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE_64_%E3%83%93%E3%83%83%E3%83%88_Windows_%E3%81%B8%E3%81%AE%E5%A4%89%E6%8F%9B
そんなことどこにも書いてないけどホント?
ttp://docwiki.embarcadero.com/RADStudio/Berlin/ja/32_%E3%83%93%E3%83%83%E3%83%88_Delphi_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE_64_%E3%83%93%E3%83%83%E3%83%88_Windows_%E3%81%B8%E3%81%AE%E5%A4%89%E6%8F%9B
351デフォルトの名無しさん
2017/05/26(金) 10:06:17.71ID:gif2nYmV そのページは、たぶん、Win32->Win64 だけの頃のやつ。
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89
とか
352デフォルトの名無しさん
2017/05/26(金) 10:13:55.43ID:trsKQBBQ353デフォルトの名無しさん
2017/05/26(金) 10:22:32.82ID:trsKQBBQ あ、iOSにはLinux系も含まれるんですか?
その辺のあやふやさも嫌な感じですね。
その辺のあやふやさも嫌な感じですね。
354デフォルトの名無しさん
2017/07/06(木) 10:33:45.10ID:E7iuEH9H シンエディットでプロシージャの名前とファンクションの名前を色分けするような使い方をしたいのですが、
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
355デフォルトの名無しさん
2017/07/06(木) 10:47:02.39ID:1ivNtSqb シンエディットて何?
356デフォルトの名無しさん
2017/07/06(木) 12:16:18.45ID:DKA4KQvd SynEditのことらしい
これをカタカナで書く感覚が分からん
これをカタカナで書く感覚が分からん
357デフォルトの名無しさん
2017/07/06(木) 13:00:39.86ID:/LwN4Pic すまん。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
358デフォルトの名無しさん
2017/07/06(木) 16:56:40.09ID:uy+VElX3 キーボードが苦手なプログラマw
359デフォルトの名無しさん
2017/07/06(木) 19:47:25.65ID:j2rVCi1D■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 80代男性の死亡確認、20代女性心肺停止 ★3 [Ailuropoda melanoleuca★]
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 80代男性の死亡確認、20代女性心肺停止 ★4 [Ailuropoda melanoleuca★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 [尺アジ★]
- 【国防】衝撃を与えた米シンクタンクの「台湾侵攻シミュレーション」日本の被害は? [1ゲットロボ★]
- 【東京・足立のひき逃げ事故】搬送の80代男性が死亡、事故車両は近隣販売店から盗難か [ぐれ★]
- 【宅急便】ヤマト運輸がベトナム人ドライバー500人採用…不安視される「運転技術」「コミュニケーション」「助成金」 ★2 [シャチ★]
- WBC世界バンダム級 那須川天心 vs 井上拓真
- 〓たかせん〓 日本一パレード&ファンフェスティバル
- 競輪実況★1609
- 福島競馬3回6日目~中京競馬5回初日
- こいせん 全レス転載禁止
- @@@令和七年大相撲九州場所 vol.13@@@
- 台湾外交部「台湾有事起きても日本はあいまいな立場を維持してる。高市発言あっても台湾防衛に協力するかどうかは分からない」 [256556981]
- 【高市速報】警視庁「足立区事故の車を事故前にパトカーが追跡していた」 [931948549]
- 【悲報】男さん、48歳で月手取り22万円しかないのに片道1時間を高速道路(850円)を使って通勤してて大炎上wwwwwwwwwwww [786648259]
- 【悲報】ホテル業界、中国人が大量キャンセルしてしまち阿鼻叫喚地獄になる🥺 [616817505]
- ぽこちんで出来た🏡
- 【画像】さくらみこコラボ中のスシローでぺこらと食事を楽しんだvtuberオタクさん ぺこらが汚すぎて炎上中www [743999204]
