くだすれDelphi(超初心者用)その59【Embarcadero】

■ このスレッドは過去ログ倉庫に格納されています
2021/09/24(金) 11:16:27.40ID:gP9hkwVT
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。

■ Delphi 11
http://www.embarcadero.com/jp/products/delphi

■ Delphi Community Edition (無料)
iOS、Android、Windows、macOS 向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
https://www.embarcadero.com/jp/products/delphi/starter

<前スレ>
くだすれDelphi(超初心者用)その58【Embarcadero】
https://mevius.5ch.net/test/read.cgi/tech/1583919039/

■ 便所の落書きレベルの個人的な悪口やきつい言葉(氏ねとか)は禁止だからな。
■ Embarcaderoヲッチャ的な内容も歓迎だ。

■ 誰も立てないから立てた。さあ語れ。
2022/11/26(土) 21:05:02.38ID:cJgVVsL9
Delphiは一時期.NET版だしてたけど
あれを続けてたらわんちゃn・・・ないか
2022/11/26(土) 21:07:55.92ID:1ldKsJnP
ナンセンスでないライセンス契約って今もあるん?
2022/11/27(日) 08:49:14.14ID:Hph6MuVW
そんな契約ないザンス
2022/11/27(日) 12:39:46.99ID:Y+vjcJQ3
個人プログラマも視野に入れてコミュニティを見守って
モバイル開発もVCL完全互換にしていればユーザー離れは最小限に食い止められたし
新規もそれなりに獲得出来たと思う
2022/11/27(日) 15:30:55.64ID:/EWjCBPu
とにかく高いわな、諸悪の根源はそこ
2022/11/27(日) 17:44:42.17ID:wZstLMgh
まず根本のwindows版がきちんとしてないと
わざわざこれでマルチ環境の開発をしようなんて気にならないし
個人が作りたくなるのって自環境に密着した身の回りのツールだったりするわけで、
ボトムアップで広まった言語でネイティブ軽視したのは自殺に等しかったな

真面目にSDKのコンバートとかをやらなかったりやっても最初だけで
その後のアップデートにまともに対応しない名ばかり状態だったりなのが本当にダメ
そこがきちんとしてればコンポーネント化のような部分は
エンバカやコードギアがやらなくてもユーザサイドが動いただろうに
638デフォルトの名無しさん
垢版 |
2022/11/27(日) 18:40:40.81ID:ciiT2+58
>>636
これ
639デフォルトの名無しさん
垢版 |
2022/11/27(日) 18:55:23.67ID:urF4BH8j
https://colab.research.google.com/drive/1Ljlmy56yjAKGrpmp_VdBl5G_B31sxQRZ?usp=sharing
これ、宿題なんですけど誰か教えてくれませんか?
640デフォルトの名無しさん
垢版 |
2022/11/27(日) 19:19:21.61ID:ciiT2+58
>>639
死ね
641デフォルトの名無しさん
垢版 |
2022/11/27(日) 19:44:35.91ID:9f7+i7B0
スレチ
マルチ
白雉
2022/11/28(月) 19:27:59.60ID:txYsU9xo
結局DelphiみたいにUIが簡単に作れる処理系て他にないんだな…
2022/11/28(月) 19:30:57.52ID:E5jabA1r
死体に鞭打つのは感心せんぞ
どうしてもVisual Studioと言わせてDelphiに鞭打ちたいんだろうが
2022/11/28(月) 23:18:03.60ID:cqtEtbn4
え?Visual StudioてDelphiみたいにUIが簡単に作れる処理系なん?
645デフォルトの名無しさん
垢版 |
2022/11/29(火) 00:42:11.79ID:99vdk9ZG
そんなことも知らずにDelphiを使い続けるって
2022/11/29(火) 11:15:52.77ID:mgmh3lAz
>>639
Delphi の宿題なんかあるのかと思ったらパイソンやんけ。
2022/11/29(火) 11:35:49.32ID:rqM5X++m
Delphiとか新規ではありえないでしよw
公式が事前に発表ありで何かのライブしても
30人以下しか閲覧されないのにw
2022/11/29(火) 12:39:46.79ID:ugC0FKuo
なんで.NETやめたんだ
2022/11/29(火) 15:01:21.77ID:gBI7nrvk
.NET続けてたら、.自然とクロスプラットフォームになってたかもしれんが
それまでに完全に潰れてたかもね
2022/11/29(火) 21:28:11.87ID:vq9DOOfG
delphiでWPFやりたかったな
2022/11/30(水) 19:57:30.15ID:aIG6S061
>>646
Delphiの宿題なんて最盛期でもあったか怪しい
2022/11/30(水) 20:04:13.62ID:aIG6S061
AtCoderの使用可能言語にPascalはあるのにDelphiがないのは許可が下りなかったのか
AWKやBrainfuckがあるのをみつけてさすがにBrainfuckで提出するやつはいないだろうと思ったら普通にいたわ
しかもインデントやコメントがついてるところを見ると手書きらしい
狂ってるな
2022/12/02(金) 09:40:31.65ID:IkjVXByH
Windows11 22H2 IME切り替えで落ちる件、KB5020044 で直ったようだな。
654デフォルトの名無しさん
垢版 |
2022/12/06(火) 16:45:28.33ID:y2DLNMoz
あげ
2022/12/22(木) 21:20:07.59ID:1vYQyD5f
カレンダー人気ないねえww
2022/12/22(木) 22:31:19.15ID:DXKluzHx
誰も使ってないんだから当たり前だ
2022/12/23(金) 07:51:03.78ID:qgR3sDVK
もう新規案件で採用されることもないし
ほそぼそと生きながらえていくだけだろうしな
2022/12/23(金) 21:04:44.20ID:aeuM79Ce
Delphi誰も使ってないん?
2022/12/24(土) 02:16:23.04ID:VOUoQ5au
素晴らしい、言語なんだが、普及しないのが残念
2022/12/24(土) 09:37:07.21ID:6dIbenX1
一度普及したんだよ
さびれただけで
2022/12/25(日) 12:35:12.28ID:yKTY/tVQ
なんでさびれたん?
2022/12/25(日) 12:39:19.98ID:NJW41kMT
マイクロソフトを本気にさせたから
2022/12/25(日) 12:42:42.68ID:pB/FhW8L
無償版を無くしたから
2022/12/25(日) 12:53:03.08ID:NJW41kMT
MSは当時Visual C++とか作ってたけどちっともVisualじゃなかった
その上Visual C++のライブラリMFCはそびえ立つ糞だからそれより原始的なSDKを使えと言われてたくらいできが悪かった
Windowsプログラミングはめんどくせえとみんなが思ってた時に颯爽と出てきたDelphiはまさにキラーコンテンツだった
Windowsアプリの多くがDelphi製になってしまうとそれに影響を受けてOSのアップグレードがしにくくなるしDelphiを使わないOfficeは使ったサードパーティ製のOfficeに成長で負けてしまう

そこでDelphiの主力開発者を引き抜いて作らせたのがC#と.NET Framework
Visual Studioは無料にして開発ツールを主力商品とするBorlandに兵糧攻めをしかけた
結果Borlandは身売りしてDelphiは迷走を続け顧客を減らして今に至る
2022/12/25(日) 13:01:53.41ID:DA8b1MrH
MSに売却すれば、メジャーソフトになっていたのにな
2022/12/25(日) 13:31:39.31ID:itz3wrzY
言語の IDE を売るというのは一昔前のビジネスモデル
当時は色々なのが有ったが、どれも廃れていった
2022/12/25(日) 13:59:15.04ID:FlIaeYcs
Delphiが3.0で32ビット開発可能になって5.0まで来たときは自作コンポーネントの作りやすさからDelphiの時代が来るかと思ったら完全に失速したよな
2022/12/25(日) 22:39:08.56ID:sCEnp2+I
UIコンポーネントと統合IDEによるRADが間違ってるとは今でも思えないけど
メジャー言語になるのに必要なマルチプラットフォーム化にも標準化にも障害だもんな
1社でやれる範囲なんて知れてて、MSでさえC#の現状までなわけで
2022/12/25(日) 22:43:28.90ID:sCEnp2+I
>>668
見返したら統合IDEって言葉は変だな
IDEか統合開発環境だな
2022/12/26(月) 09:48:29.75ID:ERp0WIao
統合統合開発環境で何が悪い?
2022/12/26(月) 10:29:42.77ID:1lSLkv7n
そもそも何が言いたいかよくわからんよ
2022/12/27(火) 11:32:22.56ID:5R2urPvZ
>>667
32bit化は Delphi2 じゃなかったっけ
2022/12/27(火) 13:02:08.69ID:lnirqxnT
自分の記憶だとDelphi2は英語版しかなかったような
2022/12/27(火) 16:52:22.43ID:z84keaQ1
https://www.youtube.com/watch?v=1IuIuiei0is
6人待機中
今日は何人集まるかな?
2022/12/27(火) 17:15:25.38ID:qqsMLVqz
>>674
キモい
2022/12/27(火) 21:35:10.27ID:LqlC3d6k
>>673
インサイドDelphi2.0コンポーネントとか遊ぶDELPHI2.0Jって本持ってるから普通に日本語版あったと思うよ
多分何処かにCDもしまってる
2022/12/27(火) 21:36:00.04ID:huWpoB7v
まだVisual StudioのCommunityが無かった頃はDelphiはいい勝負してたんだっけ?
2022/12/28(水) 11:21:08.39ID:BULH2gQ4
>>676
それそれ
string がかなり使いやすくなった覚えがある
2022/12/30(金) 02:30:07.23ID:U2akFJxb
ロードマップが更新されてないから今回のベータで何をやるのか分からんな
2023/01/07(土) 09:03:38.49ID:ZnuxmdB9
年末に年賀状を印刷していて思い出したが
Delphi1の頃にボーランドの中の人(たぶん大野さん)が公開した
ハガキ宛名印刷用プレビュー画面のサンプルコード、
郵便番号のケタが増えたとこだけ手を入れて今でも使ってるわ。
2023/01/11(水) 07:34:40.76ID:LIaI5h22
11.3 Beta出てた
一応ベータテストみたいなことはしてるんだね
自分の作り方じゃハマることはないけど...
2023/01/21(土) 17:22:06.00ID:kClyHu6h
TWebBrowserが古くて使い物にならなくなったので
代わりにTEdgeBrowserを使おうと思ったのだが
表示されているHTMLのソースやリンクリストを収得する方法が分からない

ヘルプにはTWebBrowserと互換性があるようなことが書いてあるが
実際には全く互換性がなく、TEdgeBrowserの情報が少なすぎて困っている
2023/01/21(土) 20:03:02.14ID:wpHNmfli
>>682
TEdgeBrowserでのhtml取得の仕方

スクリプトを実行します。
EdgeBrowser1.ExecuteScript('encodeURI(document.documentElement.outerHTML)');

イベントが発生します。
procedure TEdgeViewForm.EdgeBrowser1ExecuteScript(Sender: TCustomEdgeBrowser;
AResult: HRESULT; const AResultObjectAsJson: string);

AResultObjectAsJsonにhtmlが入ります。

ヒントになればいいのですが
2023/01/21(土) 21:06:08.22ID:pwh7b8Dl
https://blogs.embarcadero.com/ja/execute-scripts-and-view-source-with-tedgebrowser-ja/
公式にもあるし
https://www.petitmonte.com/bbs/answers?question_id=29951
掲示板にもある
2023/02/19(日) 12:00:18.00ID:msEUZo/a
Delphi 28周年記念キャンペーン!最大28% OFFの特別価格
https://www.embarcadero.com/jp/campaign-japan
686デフォルトの名無しさん
垢版 |
2023/02/19(日) 15:32:57.29ID:MLUPLAgZ
>>685
たけぇーよ

Delphi 6 Pro 6万8000円  Delphi 6 Personal 4800円だったのに
2023/02/19(日) 16:15:55.38ID:+J4STHqh
出せて4万だな、サンキュッパとか
2023/02/19(日) 23:18:32.05ID:lwI5eijq
CEで開発中のアプリで、Google push (FCM) メッセージを
WindowsからAndroid にプッシュする部分があるんだけど
Android 9では正常に受信できてるのにAndroid 12では受信できないことに気づいた

色々調べたらAndroid 12から実装が少し変わったらしい
ちなみに Delphi 11の無料体験版でビルドしたら正常に受信できた

そこで質問なんだけど
CE でなく11の無料体験版でビルドしたアプリは個人使用はOK?
さらにフリーで配布するのは?
689デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:05:43.25ID:zYDw/q5N
>>688

https://www.embarcadero.com/jp/try-rad-now#trial

に、

RAD Studioの30日トライアル版をダウンロードすれば、Delphi / C++Builderのすべての機能を30日間試用することができます。トライアル版の試用が終了したら、正規のライセンスを購入して開発を続けることができます。

とあるし、考えるまでもなくダメだと思うぞ。
諦めてライセンス購入なされ。
2023/02/20(月) 08:55:29.55ID:YMang20M
>>689
その30日間に何をしたらダメなのか?ハッキリ規定してあるかな?
ビルドした成果物は試用期間中に使っちゃダメなの?フリーで配布したらダメなの?
2023/02/20(月) 13:58:44.37ID:cosStO0+
自分で調べろ
2023/02/20(月) 14:03:45.99ID:gWCCmRg9
>>691
オマエモナー
2023/02/20(月) 14:27:16.32ID:cJPVlzOb
トライアル版で作成したことを明記して、フリーで配布してみる
2023/02/20(月) 15:06:48.16ID:jsOcVc3X
>>693
してみるの?してるの?どっち?
2023/02/20(月) 15:10:37.42ID:1gcKGF4j
>>693
してみるの?してるの?しろと言ってるの?どれ?
2023/02/20(月) 16:35:41.79ID:cJPVlzOb
してみろ
2023/02/21(火) 20:58:37.61ID:f7F9a7qV
ちょっと教えて

呼ばれた関数内で自身がメインスレッドで実行されてるか
またはワーカスレッド内で実行されてるかを識別する簡単な方法ってある?
2023/02/21(火) 22:33:10.29ID:aw7PXemF
スレッドのIDをMainThreadIDと比べたらいいんじゃね?
2023/02/21(火) 22:50:13.22ID:aw7PXemF
スレッドのIDをMainThreadIDと比べたらいいんじゃね?
2023/02/21(火) 22:51:48.98ID:aw7PXemF
書き込み失敗って出たのに書けてた……
2023/02/22(水) 01:23:34.00ID:CxG/IpHn
なるほど
Windows だと getcurrentthreaid か
702デフォルトの名無しさん
垢版 |
2023/02/22(水) 01:36:02.28ID:ajU/MxEc
>>701
メインスレッドIDは、System.pasで定義されるMainThreadID

実行中のスレッドIDは、TThreadクラスから
TThread.CurrentThread.ThreadID

で取ればクロスプラットホームでもいけるんじゃないかな?
2023/02/22(水) 18:08:53.64ID:CxG/IpHn
>>702
If System.MainThreadID = TThread.CurrentThread.ThreadID then
でチェックできるね
ありがとう
2023/02/27(月) 20:47:02.44ID:lyhlf193
Winny C++Builder と、おーむが Paradox 使っていた話は、
関係者は墓までもっていくことになっておる。
2023/03/02(木) 17:52:24.16ID:9GsrUiC6
新しい Community Edition まだーーーーー?
2023/03/03(金) 13:29:48.99ID:QoTrVGW4
パッチが四つくらいでてからじゃね?
707デフォルトの名無しさん
垢版 |
2023/03/04(土) 07:21:09.42ID:86UeI3RB
11.3インストールしてみたけどWin64ビルドしてIDE上で実行しようとすると
「プロセスが生成できません」と出て実行できん。 32bitビルドでは大丈夫。
ビルドしたものはIDE上でなければどちらも動作する。

俺みたいなライトユーザーが使って初日で見つかる不具合とか相変わらずの
品質管理だな
708デフォルトの名無しさん
垢版 |
2023/03/04(土) 10:35:30.22ID:RFNVa0Qi
ParadoxこそDelphiの正統な祖先
2023/03/04(土) 13:47:52.75ID:gWXfSOMZ
>>707
フォルダ名に日本語使うだけでエラー出るとかそんなレベルよ
2023/03/04(土) 13:51:53.54ID:vjbWV2TQ
ライトユーザーを名乗る初心者はこっちの想像もつかないことをして文句言うから鵜呑みにはできん
2023/03/05(日) 08:50:08.72ID:+4ji9Npd
↑ほんこれ
エンバカはこういう奴にやられて現在に至る
2023/03/06(月) 08:57:04.41ID:fRbJChir
よくみんなお布施し続けるなあ?馬鹿なの?
2023/03/06(月) 09:00:58.00ID:STc0b/R5
KeyPatch使ってるに決まってるじゃん
そんなこともわからない馬鹿なの?
2023/03/07(火) 02:05:29.86ID:RvYAXypy
11.3が出たってことは
秋に12といっしょにCEが出る

。。。とかだったらいいけど
2023/03/07(火) 16:43:06.53ID:2h4hijwR
arm Windowsアプリは、VCLで対応してほしい
2023/03/07(火) 17:53:03.13ID:2C9VHOLq
VCLがARM対応になれば、シャープの電子手帳(Win CE)の
アプリを簡単に作れるようになるのかな?
そうなれば面白いのだが
2023/03/07(火) 20:57:56.96ID:MVmdrI2Z
CEでCE
2023/03/09(木) 04:18:14.33ID:t/hCWpIc
MS ですら Arm32 は見捨てたから、Win CE は無理だべ
719デフォルトの名無しさん
垢版 |
2023/03/27(月) 15:32:31.22ID:lHGRbz7G
delphi10.4で下記のResultが使われてないって出るんだけど

function TForm1.Test:Boolean;
var
 s : string;
 iTest : Integer;
begin
 result := False;    // ←この代入が使われてないと出る
 iTest := 0;
 try
  s := IntToStr(10 div iTest); //ゼロ除算エラー発生
  result := True;
 finally
  ;
 end;
end;

昔からだっけ?
2023/03/27(月) 16:49:15.04ID:l3hexUPO
C++Builder5と2009の段階で出る
721デフォルトの名無しさん
垢版 |
2023/03/27(月) 17:03:41.28ID:lHGRbz7G?PLT(15000)

>>720
ありがとう
最新のフリー(community edition)のdelphi入れてみたら色々変わってて戸惑ったわ
delphi5まではよく使ってたんだけどね
exceptに変えてその中でResult=Falseにすればいけるけど、
finally使う場合にいい方法ある?
2023/03/27(月) 17:08:11.88ID:wRG46vdP
>>721
ワーニングの出る Result := False; という行は削除して
単純に Result := IntToStr(10 div iTest); じゃダメか?
723デフォルトの名無しさん
垢版 |
2023/03/27(月) 17:20:11.48ID:lHGRbz7G?PLT(15000)

>>722
>>719のファンクションはテスト用で
実際は予想されるエラーが複数あるのです

しかも>>719を実際動かしてみると
if test() then
 showMessage('True')
else
 showMessage('False'); // ←このメッセージが表示されない
2023/03/27(月) 20:10:14.39ID:l3hexUPO
>>721
そもそもその警告自体がお節介だから、わかっているところは警告無効にすればいいのでは?

それか、そういう目的のコード書くなら
try
try
except
finally
な感じで囲うべきじゃないかと思うけど
2023/03/27(月) 20:15:48.92ID:l3hexUPO
>>723
except で受けてないんだから例外はTApplication::Runまで出るでしょ
TForm1.Test で例外出したくないならなおさら
try
except
で捕捉するべきでは?
726デフォルトの名無しさん
垢版 |
2023/03/27(月) 21:30:18.32ID:R4WH7nZY
例外をプログラムで受け取るみたいな設定なかったっけ
2023/03/28(火) 12:31:38.19ID:nRcyGTje
例外発生時に関数の中でキャッチしなければ
Resultを受け取る相手がいないんだから
そもそもどういう動作を期待してるのか分からない
728デフォルトの名無しさん
垢版 |
2023/03/28(火) 13:21:42.43ID:pfcXS9yM?PLT(15000)

単純に関数の中でエラーが出たか出なかったかを判定してるんだろ
729デフォルトの名無しさん
垢版 |
2023/03/28(火) 13:42:22.64ID:pfcXS9yM?PLT(15000)

でも>>724が一番オーソドックスかな
面倒だけどネストするのが正解か
ありがとう
730デフォルトの名無しさん
垢版 |
2023/03/28(火) 14:22:50.22ID:pfcXS9yM?PLT(15000)

結局この形になったです
ヒントも出ないしヨシ

function test():boolean;
begin

 try

  メモリ確保など

  try
   処理1
  except
   result := False; // 失敗1
   exit;
  end;

  try
   処理2
  except
   result := False; // 失敗2
   exit;
  end;

 finally
  ; // メモリ解放など
 end;

 Result := True;//成功

 end;

end;
2023/03/28(火) 15:58:10.20ID:nRcyGTje
わざわざexceptを二つに分ける意図はそのコードでは分からないけど
本来キャッチする例外の種類は限定すべきできっと実コードでは想定される例外の違いでexceptを分けたりするんだろうと読み解けば
それで所望の動作にはなる

例外が生成される前提で>>728がしたいなら端からtry exceptしかなく
最初のコードはdelphi5でもコンパイルヒントが出ないだけで思い通りの動作はしない
分からないならtry文について十分な理解ができてないと思うぞ
finallyはブロックの外から見て例外がなかったことにならない

try except finally endという構文が欲しいという話は時々見るな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況