◎正当な理由による書き込みの削除について: 生島英之とみられる方へ:
くだすれDelphi(超初心者用)その60【Embarcadero】 YouTube動画>1本
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1700737330/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。
■ Delphi 12
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(超初心者用)その59【Embarcadero】
http://2chb.net/r/tech/1632449787/ ■ 便所の落書きレベルの個人的な悪口やきつい言葉(氏ねとか)は禁止だからな。
■ Embarcaderoヲッチャ的な内容も歓迎だ。
■ 誰も立てないから立てた。さあ語れ。
最近3Dをやってるけどサンプルほぼ皆無
既存の3Dシェープ使わない場合はTMeshにデータ書き込むのか?
OpenGLの流儀で独自にSphere作って表示はそれなりにできたけど
イマイチDelphi 3Dの作法が分からん
D6でmp4/mov動画フォーマットデータの日時データ変換についての質問です。
QuickTime File Format | Apple Developer Documentation
https://developer.apple.com/documentation/quicktime-file-format ExifTool
http://owl.phy.queensu.ca/~phil/exiftool/
データ trak の"Creation time""Modification time" は4バイトです。
00 00 00 01 は 1970/01/01 00:00:01 でどうやら UNIXエポック っぽいのですが
Delphiでの
uses DateUtils;
--
var
CDateTime: TDateTime;
i64: Int64;
Hex4bytes:String;
--
i64:=StrToInt64('$'+ Hex4bytes);
CDateTime:=UnixToDateTime(i64);
Memo1.Lines.Add(FormatDateTime('yyyy/mm/dd hh:nn:ss', CDateTime));
--
Hex4bytes:='D54D9B4C'; の場合
2083/05/27 08:43:56 ← 結果X
2017/05/26 08:43:56 ← これが正解
Hex4bytes:='DD6682B3'; の場合
2087/09/15 16:47:47 ← 結果X
2021/09/14 16:47:47 ← これが正解
となって失敗します。
'1970/01/01 00:00:00' に IncSecond() で入れても同様になるため
始点は同じでもフォーマットが違うと思い至りましたが
MP4/MOV 等フォーマット系も調べても分らないのです。
変換式、誰か分りませんか?
ググると何かいろいろあるよ
https://kevinnadro.com/blog/parsing-creation-time-from-mp4-metadata-in-javascript i64:=StrToInt64('$'+ Hex4bytes)- 2082844800;
又は
CDateTime:=IncSecond(CDateTime, -2082844800);
Unix timestamp epoch 1904-01-01 00:00:00 UTC
と
Mac timestamp epoch 1970-01-01 00:00:00 UTC
の差=2082844800秒
ありがとうございます。
エポックの基準開始年がWindowsとMacで違っていてMP4の元となるMOVを作ったのがアップルだから
Mac基準の基準開始年との差を勘案しなきゃいけないってことですね!
・・・なんつう罠 orz
それにしてもエンバカのサイト GetItやDocWikiが落ちてるのいつ直るんだ?
ダウンロードによる過負荷ねぇ。。。
頻繁にダウンしてる気がするが
最近10年近く前のWindows10に変更したついでに
Delphi 11 Communityエディションを入れて使ってみたんですが
なぜかコードエディタ上で表示されるコンテキストメニューの表示などが遅すぎで
なんでかな?と思ったら、Windowsの電源オプションの電源プランで省電力にしてたからでした
そんな違いが出るとは知らなかったのでびっくりしました
Delphi 12のGetIt復活したけどなんかおかしい。
機能の追加でHelpの削除をしたら、Helpの項目のチェックボックスが消えて
2度とHelpのインストールができなくなった
言語パックのチェックボックスも一旦解除するとチェック状態に戻らないと
DelphiのFiremonkeyって
AndroidのWearOS対応アプリを作れる?
まあそうなんだよね
すでにstoreに登録してるスマホ用アプリをアレンジして
ウォッチ用アプリを作ってみようとしてるんだけど
検索してもYoutubeに1件あるだけで
それをまねて実機でHelloWorldは実行できたんだけど
他に誰もやってないんじゃ不安で聞いてみたわけ
>>16 結局Patch1が組み込まれた新しいinlineインストーラー使って再インストールした。
コンポーネントの再登録が超面倒くさい。
再インストールしてGetItアクセスして気づいたんだけど、Patch1適用前のDelphi12にpatch1を適用したものと、
新しいinlineインストーラー使ってインストールしたものではGetItのアクセス先が違ってるんだろうか?
以前はあったはずのモジュールがまだ登録されていなかったりするんだが
Delphi 11 Community Edition の ISOはどこから落とせるの
my.embarcadero.comからダウンロードと言うが見つからない
barnsten.comから直リン拾ったけど…
my.embarcadero.comからダウンロード 見つからない
適当なISOからインストール Community Editionはインストールできない
クソだな
>>22 Delphi CEのインストールはISOではなくインストーラーから行う
公式からDLしてインストール
https://www.embarcadero.com/jp/products/delphi/starter/free-download ここからDLしないとシリアルコード書いたメール送られてこないのでファイルだけあってもアクティベートできない
でも今は一時的にDLできないようなので時間おいてから試して
Unavailable
Download temporarily unavailable, we apologize for the inconvenience.
If you are a student or teacher and need to download the Community Edition for a scheduled class, please Contact Sales.
使用禁止
ダウンロードが一時的にご利用いただけませんので、ご不便をおかけして申し訳ございません。
学生または教師で、予定されているクラス用にCommunity Editionをダウンロードする必要がある場合は、営業担当者にお問い合わせください。
>>24 ここに回避策としてISOが案内されていた
いずれにしてもできないものは仕方ないが…
https://www.embarcadero.com/jp/products/delphi/starter 回避策:ISOインストール(my.embarcadero.comからダウンロードしてオフラインインストールが可能)
Windows11でT98-Nextを使用しようとしています
パラレルポートがないのでUSB-パラレル変換でVP-1350と接続します
RAWモード印刷の機能が使えないようですのでDOSコマンドでは無理なので
LPT1へ出力されたデータをUSBプリンタへリダクトするコードを
書きたいのですがサンプルも見つかりません
フリーソフトのDOSPrintを使えば実現できるようなのですけど
Delphi 6 でつくれるならやってみたいので参考になるサイトなどあれば教えてください
>>28 PC98エミュレータ プリンタ設定のキモ T98-Nextの場合
https://koga2020.hatenabl;og.com/entry/53075481
>>30 その方法のDOSコマンドが使えるのはXPまでで
試したけどWin11や10では無理だった
http://www.nankichi.net/?p=22 それで上記のサイトにあるDOSPrintをInternet ArchiveでDLしたんだけど
同じ動作をするアプリをDelphi 6でつくれるかなと思って質問してみました
>>31 Win11や10でWinXPを仮想PCで動かして、そのWinXP上でT98-Nextを動かせばOK
Delphi 6でDOSPrintを作る方法を教えて下さい
DOSPrintのDOSPrintUI.exeを触ってみた感じだと
LPT1〜9がなければポートを作ってLPTに送られてきたデータを
指定したプリンタへリダイレクトしているだけのようですが
LPT1へデータを送信するコードしか見つからなくて
LPT1を作ったり、データを読んだりもできないので何かわかるかたがいれば教えてください
Delphi 6でDOSPrintを作る方法を教えて下さい
Delphi 6でDOSPrintと同じ動きをするプログラムを作る方法を教えて下さい
新規作成すると Unit2,Form2,project2から作成するようになってしまいました。
元に戻すには どこをいじればよいのでしょうか。
Delphi11CEです。
Delphi 12.1がリリースされたけど相変わらずローカルヘルプから外部のコードサンプルのリンクが間違ってるな
なんでURLにβ版の開発名とか Updates とかいう名前を入れるかね
The requested URL /CodeExamples/Updates/en/TXMLDocumentCreateElement_(Delphi) was not found on this server.
>>42 日本語ヘルプファイル、先祖返りしているね
topic.chmのタイトルが 「RAD Studio 11 Athens ヘルプ」 になっている
12.0のtopic.chmは 「RAD Studio 12 Athens ヘルプ」になっているし英語版もRAD Studio 12になっているからローカライズ担当の怠慢か
Community Editionってまだ12来ないの?
>>52 ありがとう
すでにPCの時計を合わせるアプリを完成させたぜ
ほぼネットのソースのコピペで行けたぜ ふふふ
>>55 そうでしょ! ははは
質問なんですけど、ソースコードを配布するときとか自分用にバックアップをとるときに必要なファイルはどれでしょうか?
アイコンが変わっている.dpr .dproj .dfm .pasでOK?
.res と、もし使っているなら .ico も追加して下さい
delphiでもbingで検索したらコードが出てくるもんな
便利になったもんだ
CEの11を入れてみたいけど、Delphiのインストーラーって
毎回なんかやらかすイメージがあるから、ずっと躊躇してる
最近のインストーラーは、まともになった?
オンラインドキュメント死んでるのは良くないが、生きてても実際にはあんまり役に立たない内容ばかり
あれ、ただ単に機械的に作ったページたらけで、ちゃんと人が執筆した部分は少ないんじゃないの?
ボーランド時代の付属ヘルプは使用例も併記されてて優秀だったんだがなぁ
エンバカになってからヘルプの質の低下が酷すぎる
TPngImageのExtraScanlineメソッドは機能するようになった?
48bitカラーを読み込むのはできるが各ピクセルへのアクセス方法が分からん
エンバカになってからというかDelphi4ぐらいで既に劣化は始まってたというか
Delphi 12 Community Editionがリリースされたね
秋頃だと考えてたんで、ちょっと意外
それとGoogle storeで公開してる自作アプリが
8月からLevel 24に対応しないとなんないから
まさにグッドタイミングではあるけど
FMXで11から12に移行するのに何か大きな修正が必要なんだっけ?
入れてみたがCtr+F9するだけでIDEが落ちるわ
なんか不調
軽く触った感じだとCtr+F9でIDEが落ちる、右側のプロジェクトウィンドウやパレットウィンドウをクリックするとIDEが落ちる
F9で実行するのと左側のプロパティウィンドウをいじる分には問題なかった
おまカンかもしれないが11.3では特に問題なかったんでなんか困る
>>73 一応最初のパッチはWelcomeページに表示されてる
このパッチは当ててあるんだけどそれでも改善されないんで更に次のパッチ出るまでお預けだなぁ
11.3のライセンス切れるの270日後くらいなのでそれまでに修正されてればいいけど
>>75 >Ctr+F9でIDEが落ちる
自分の環境だとCTRL+F9で落ちることはないね
>右側のプロジェクトウィンドウやパレットウィンドウをクリックするとIDEが落ちる
これって何もできないのと同義じゃない? さすがにそれは。。。
完全に消して再インストールがいいんじゃないかな
完全に消して入れ直してパッチ1も適用しなおして試してみた
OSはWin11 23H2
新規作成→Windows VLCで新期に作成した直後
プロジェクトウィンドウは右クリックだとIDE落ちるのは変わらず
でも左クリックだと問題ないが右クリックできないとコンポのコンパイルインストができないので厳しい
Ctr+F9するだけでIDE落ちるのも変わってない
追加で上部メニューのプロジェクトタブをクリックやカーソルあててして展開しようとIDEが落ちる
けどパレットウィンドウは大丈夫だったというか勘違いだったかも
なんにしても現状だと外部コンポ入れられないんで次のパッチ以降で改善されるまではどうにもならない感じ
実質使えない糞をリリースするのはエンバカデロのお家芸ですか?
ユーザーを人柱にしてバグ報告して貰った方がパッチが進む法則
うーん、12.1 CEにして
Androidアプリのアップデート準備してるんだけど
今んとこ大きな問題ないな
ていうかAndroidの対象SDKレベルが34になった以外だと
自分の使ってる範囲だと何が変わった?ってな感じ
望むのは3D機能をもう少し充実してほしい
線形代数の知識がないから
LookAtの機能を実現するのに四苦八苦
実質何が変わったかわからない糞をリリースするのはエンバカデロのお家芸ですか?
Delphi 12.1でAndroidアプリのコンパイルが出来なかったのですが下記のサイトで解決しました
RAD Studio 12でのAndroid SDKの設定
docwiki.embarcadero.com/Support/ja/RAD_Studio_12%E3%81%A7%E3%81%AEAndroid_SDK%E3%81%AE%E8%A8%AD%E5%AE%9A
なお Delphi 11.3 をアンインストールせずに Delphi 12.1 を追加インストールして両方使えています
>>0081
RAD Studio 12.1の新機能
www.embarcadero.com/jp/products/rad-studio/whats-new-in-12-athens
>>0083
私の記述が不正確でした
正しくは「コンパイルはできるが Android用の .apk ファイルが作成されない」です
リンク先を参照して Android SDK を手動でインストールすることにより解決できました
Delphiインストーラの機能不足とは言えるかと思います
たぶんSDKの問題は
新しいバージョンのJavaをインストールせずに
Delphiをインストールしようとしたとか?
自分の場合はAndroidの新規のアプリは問題なけど
Delphi11で作成したアプリは配置/Deployできなかった
まあ「ライブラリ」を「デフォルトに戻す」で問題は回避できたけど
また無料版出てるんだ
これDelphi5とかで作ったプロジェクトも開ける?
>>87 開ける。開いて勝手に変換してくれる。コンパイル通すには
多少は手修正が必要かも知れない。ソース次第。
>>88 そりゃすげえ
WPFみたいなバッドノウハウの塊みたいなクソフレームワークいじりたくないし戻れるものならDelphi戻りたい
WinFormsみたいにdpiの問題抱えたりはしてないの?
バグだらけのDephiのほうがバッドノウハウの塊だろうに
頭悪そう
C++Builderに関しては直近の中じゃかなりマシだと思う
まあこれのおかげでWPFやUWP等Microsoftの迷走に付き合わなくて済んだのは良かったよ
C++BuilderやDelphiは昔使ってたけど
WPFのが好きやな
Communityはなつかしく触ってみてる
WPF、UWPそしてバグだらけのWinUIと迷走はしてるけど
別に開発技術はXAML+MVVMとかで一貫してるから別に開発者としては
普通に作るだけなら1カ月もあれば余裕で移行できて
ほとんど負担にならないんだが
応用力効かない人なのかな?
移行に一ヶ月も掛かるの?一ヶ月もあれば追加で色々できちゃうからやっぱりやらなくて正解だったね
というかVisualStudio組と組んでやったけど何やるにしても遅い
あれで本当にDelphiより生産性高いの?
しかも、MVVMはWPFとかの専売特許じゃないからMVVM覚えたら他のAndroidや新しい
宣言的UIフレームワークのSwiftUIやらJetpack composeでも使えるのからこれっぽちも無駄にならんし
別にやみくもに新しい技術キャッチしろとは言わんが
古いもの固執して時間が止まっててワロタ
それ、フレームワーク覚えて仕事している気になっているだけだよね
Webでも何でもDelphiだけ使えとは言わないが、Windowsアプリケーション位はDelphiでサクっと仕事終わらせればいいと思うね
ここに居るなら今でも使っているのだろうしさ
使っていないのならさようなら
>>97 WPFスレでは今まさにVSのMVVMが他のMVVMと別物の超絶使いづらい代物だという話の真っ最中ですよ
Model View ViewModelとか言い出すのは古典の研究者なのかな?
新パッチでないとうちでは使えないが今のところ出てないんで11.3使ってる
残り200日くらいなんでなんとか早目に出して欲しいわ
>>102 普通に使えるよ
ただDelphi 12.1 CEは
Android 14対応のための早期リリースみたいだから
新機能が必要なければ11.3 CEのままでもいいような気がするけど
次のCEは13.xなのかな?
CEの新バージョンに更新て、旧バージョンは自分でアンインストール?
いや11.3と12.1は併用できるだろ
併用できないのは同じバージョンのエディション違い(CEとPro版)
>>106 自分でアンインストール
え・・えんば・・・燕麦・・?鉛丹!
あたらしい単語をきいて調べたらこのスレがあったのでやってきました。
初心者ですかもしれますん。
えー直近ではdedeを使ったくらいです。
よろしぬくおねないしなます。
12CE、メニューのリファクタリング上をマウスが通過しただけで
IDEが落ちるプロジェクトがある
もちろん、リファクタリングのショートカットでも落ちる
unit CnWizMenuAction;
....
{$IFDEF IDE_SUPPORT_HDPI}
try
AWizAction.ImageIndex := AddGraphicToVirtualImageList(AWizAction.FIcon, Svcs40.ImageList as TVirtualImageList)//AV
except////2024.10.24
AWizAction.ImageIndex := AddIconToImageList(AWizAction.FIcon, Svcs40.ImageList, False);
end;
{$ELSE}
と
unit CnIniStrUtils;
....
function FontToString(Font: TFont): string;
{$IFDEF MSWINDOWS}
var
S: string;
{$ENDIF}
begin
if Font <> nil then////2024.10.23
with Font do
begin
try
{$IFDEF MSWINDOWS}
if not CharsetToIdent(Charset, S) then
S := IntToStr(Charset);
Result := Format('%s,%d,%s,%d,%s,%s', [Name, Size,
FontStylesToString(Style), Ord(Pitch), ColorToString(Color), S]);
{$ELSE}
Result := Format('%s,%f,%s', [Family, Size, FontStylesToString(Style)]);
{$ENDIF}
except////2024.10.24
Result := '';////
end;
end
else
Result := '';////
end;
で
どないでしょうか???
VCLのListViewでスタイルで色つけるとフォームとかリサイズとか
するとちらつきがひどすぎる
DoubleBuffer有効にしても駄目だし
これがDelphi品質発動でしょうか
ListViewてランタイムテーマがオンになってるだけで
デフォルトテーマでも、かなりチラつくね
速度のためにランタイムテーマ切った事がある
Win2000みたいになるけど
ちらつきってGDIがVRAMに直接描いてた時代にWM_PAINTを処理する過程が見えてたわけで
コンポジターの挟まるVista以降は関係ない話と思ってた…
そこでDoubleBuffered := True;
GDIからGetDCでDCを取得して描き込んだら
DWMはいつ描き込みが終わったかも分からないんだから
描画の途中が表示されることは普通にある
ListViewというかコモンコントロールがGetDCで能動的に描きかえたりはしてなくね…してるのか?
InvalidateRectでシステム側にWM_PAINTを要求してそこで描きかえてる…と思ってた
WM_PAINTだけならいつ描画が終わったかは明確だし
>>123 WM_PAINTからならBeginPaint, EndPaintに期待しなくもないけど本当にそうなってるのかな?
今外だから試せないけどフォームのOnPaintでsleepでもしてからtextoutするようにして
Invaridateしたら描画見えちゃいそうな気がする
ListViewが遅いのはまあ確かに我慢できないレベルなので
Mustangpeak EasyListViewかReport形式ならVirtualTreeViewで代替するのが吉かな
つーかMustangpeakのヘルプってどっかにないものか
githubにあるデモだけで理解して使いこなすにはELVもtoolsも複雑すぎる
ListViewの高速化がしたいなら仮想リストビュー使えばいいんじゃね
仮想リスト化すれば速度は十分だと思うけど
>>125 仮想ListViewで速くなるのは大量データの準備(Itemsの構築)で描画は変わらないよ
仮想ListvewとDoubleBufferedを設定、あとはbeginupdate、endupdateを適切に使えば個人レベルのアプリで普通は問題のないレベルの描画速度になるはずだけど
描画に影響出るほど頻繁にデータを更新再描画するようなプログラムならDrawイベントのほうもOwnerDrawで対処かな
個別にListItemを描画するんじゃなくてListView全体を一定間隔で描画するように変更するとか色々やり方はあるよね
FireMonkeyにはListViewみたいのないの?
ListViewのアイコン表示とリスト表示は必要
改めて使ってみたら許容範囲にはなってるな
Reportの4k全画面再描画で0.3秒くらい
表示数が多い用途には使わないようにしたのが10年以上前なので
PCの性能向上やWin側の改良だろうね
でもスクロールのちらつきは相変わらず
VCLソースを見たら、コントロール側がスムーズスクロールした後に
スタイルが有効な場合はVCLがわざわざInvaridateRectして描き直す上にその背景消去が見えてしまうせいのよう
TWinControl.WmEraseBkgのスタイル有無の処理分岐と同じように
親コントロールを透過していなければinvaridateしない条件に変えたらちらつかなくなった
ちなみにdoublebufferedはホットトラックでもコントロールを全部書き直すから
カーソルをコントロールの上で動かすだけでCPU負荷爆上がりで不満を言う人が結構いたんよ
スクロールする時だけDoubleBufferedにしてみたりもしたな
>>128 fmxのlistviewは全然別物
モバイル用途が理由だと思うけど、listboxの発展型みたいなもん?
アイコンを並べたりレポート形式とかもない
>>130 別物ですか
残念です
そういえばモニターのリフレッシュレートを下げてみたらListViewのちらつきが緩和されましたw
Delphi使ってるのは年寄りだから皆そこそこ上級者のはず
てか今の時代にDelphi超初心者なんて本当にいるのか?
2025年、いよいよDelphi 30周年!ユーザーイベントを企画
だってさ
30年か・・・
過去に12CEがパッチ当てても不安定みたいな書き込みあったけど
その後どうなった? 新たなパッチ来てる?
>>147 不安定というかプロジェクト系のメニューに触ると落ちる
今チェックしたが新しいパッチはでていないのでいまだに使えない
>>145 利用歴が30年の人、かなりいるだろうな
3以来27年の付き合いだな
本気で使うようになったのは5以降で20年強だけど
>>151 かもしれんが普通にインストしただけで別に変わった事してないしCE11.3までは普通に使えてるからなぁ
何が悪いのか皆目見当もつかん
CE11.3を残してあるからなんとかなってるがライセンス期限そろそろ残り150日なのでCE12に新しいパッチでてほしいところ
まぁCE11.3のライセンス切れたら一度全部アンインストしていれなおしてみるよ
変数に[volatile]のようなコンパイラ属性を付けると
クラス補完やCtrl+Shift+↓の実装へのジャンプが効かなくなるみたいだな
今めちゃくちゃ困ってる
Code Insightの品質いつまで経っても改善されないなあ
Code Insightなんて昔はなくても何も問題なかった
CEの最新版は12.1?
まだ12.2のCEはないの?
CE12にJEDIを入れたいのだがGetItからインストールすると
Embarcadero RAD Studio 10.6 を使用しています
このバージョンの製品はコマンド ライン コンパイルをサポートしていません。
と言うエラーが出てインストールできない。
しかも、GetItからアンインストールできなくなる。
誰かCE12にJEDIのインストールする方法を教えて。
Delphi12 Community Ed.でのJEDI JCL JVCLのインストール方法
でググる
RADStudio_12_1_esd_61_7529b
いまDLしたがCEは12.1のままだな
>>160 オープニングには、
12,2と表示されるけど。
製品: Delphi 12.1 Athens Community Edition
ソフトウェアのダウンロードがまだ完了していない、あるいは再度ダウンロードする必要がある場合は、以下のリンクをクリックしてください:
Delphi 12.1 Athens
https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_1_esd_61_7529b.exe 12.2はCEではなく無料トライアル版では?
はい。
無料版のところにある
Delphi12CEというやつです、
>>163 使用期限が一ヶ月と言ってるしそれ製品版を試用してるのだと思う
ライセンス1年のCEと、30日製品お試しのトライアル版は別ものだよ
IDEのhelpからバージョン情報チェックしてみて
>>165 そうなの。
今日はJEDIを入れるだけで終わっちゃたから明日にでもトライアル版落としてやってみるわ。
JEDIはエラー出てなかなか進まんし。
なんか解凍ソフトの違いでエラーメッセージが違うんだよね。
今日は一日すっかりハマっちゃったわ。
ところでトライアル版はどこにあるの?
無料と言うところしか探してないんだけど。
>>166 間違った。
ライセンス1年のCEはどこにあるの?
>>168 早朝からインストール始めました。
先に30日製品お試しのトライアル版を入れていて、しかもGetItパッケージを入れてたものですから削除にえらく時間がかかりました。
しかも、インストール後にライセンス1年のシリアルを入れたら次の起動で同じPCに二つのDelphiはダメと叱られるし。
なんとか、ライセンスマネージャーを立ち上げてトライアル版のシリアルを消して解決しました。
ここまで、トライアル版も含めたら10回はインストールを試したみたいです。
次に、JEDI JCLをインストールしました。これもなかなか大変でしたがやっとインストールできました。
紹介のHPに従ったまでですが、私の場合パスをもっとあちこち取らないといけないみたいで調べながらなので
結構時間がかかりました・
これで、やっと1年前の環境と同じになりました。
しかも、有効期間1年です。1か月になった時はもうDelphiをいじるのはお終いか。
と思ったのですがこれで、また楽しめます。
今回はいろいろありがとうございました。
Delphi 12 CEのページに書かれてる利用条件
> 作成したアプリケーションやコンポーネントの年間売上が5,000 USドル以上に達した時点)
までは無料利用可って書いてあるのは周知の事実だけど
「詳細はCommunity Edition Q&A」から飛んだ先にある "ライセンスとバージョン" のFAQに
以下の記載を見つけちゃった
>Q. 私は企業や組織にサービスを提供する個人事業主ないしはフリーランスです。
> Community Editionを使うことはできますか?
>A. (中略)... また、Community Editionがいずれのプロジェクトで使用されているかに関係なく、
> 1年間にあなたが行ったすべての請負作業の売上が、5,000 USドルを超えることはできません。
>
>例えば、1つのプロジェクトで5,000 USドル(または複数のプロジェクトで5,000 USドル)以上の
>支払いを受領した開発者は、それらのプロジェクトでCommunity Editionを使用していなくても、
>Community Editionの使用は許諾されません。
この条文って前から書かれてた?
Delphi CE使ったかどうかに関わらず5千ドル相当の年収があるならもうダメとなると
フリーランスで生計立ててる個人開発者の大半は実質誰も使えなくなる
Delphiで作ったアプリの販売額だけ気をつけていれば良いように錯覚してたが
これは厳しい
今まで気付かなかったんだけど厄介だよねこれ
ずいぶんと前はそれら(delphi/c++)を使った売上が、だったはずよ
>>171 へー、そんなことになってたとは知らなかった
確かに以前は「CEを使った売上」だけが対象だったはず
いつの間に条項変更したのかな?
>請負作業の売上が、5,000 USドル
ようわからんが、
請負いでなければ何の問題も無いと言う事だろ。
つまり、個人とかどこかの団体と請負契約を結び労働力等を提供し報酬を受けた場合の
その報酬が5,000 USドル。
会社員とかのサラリーマンは雇用契約であって請負契約では無いので当てはまらない。
>>175 ?
ちょっと何言っているのか分からない
そもそも最初から「個人事業主ないしはフリーランス」を対象とした話やぞ?
会社で使う場合も会社の総収益が年間最大5,000ドルまでで、
チームの開発者が5人以内って条件なのだからフリーランスでも同じってだけでしょ
収益と無関係の個人の非商用アプリなら問題ない
10.1 Starter Editionの時は個人使用は1000ドルまで
企業は企業全体の収益が1000ドルまでだった
10.2でCommunity Editionになってから今のLicense
Community Editionは、個人またはスタートアップ企業の方が利用できる製品です。Community Editionを利用している
企業の年間売上が5,000 USドル以上に達した時点で、Professional以上の有償エディションを購入いただく必要があります
(個人で利用している方の場合、作成したアプリケーションやコンポーネントの年間売上が5,000 USドル以上に達した時点)。
>>171-178 うわマジかー!具体例も明記されてるし制限キビシくなりすぎやろ
12のCEからこうなったのかな
前面では個人やスタートアップならアプリの年間売上5,000USドルまでOKって提示してるけども
Delphiと一切関係ない売り上げまで含めてカウントするこの条項隠れてるせいで
アプリ以外の稼ぎある個人はそっちで「Community Editionの使用は許諾されません」に該当して利用権を失う
既に書かれてる通り企業利用のケースと同等条件で扱われることになるから
非商用アプリ作るんかどうかとか関係なしに企業の場合と同じくそもそもインストールすら不可になるやん
どうすんのこれ
使用許諾自体ないから試しに何か自分用ツールを作ってみるのすらライセンス的に無理だし個人開発者の新規流入が途絶する原因になるよなぁ残念すぎる
撤廃してDelphi利用時の売り上げだけで判定するように再緩和して欲しい
これって、職業プログラマだけが対象なの?
売上5,000USドル以上のパン屋さんがDelphi CE使うのは良いの?
そもそも条件を詳しく見る必要のあるようなケースで
Delpgi CE使うヤツなんているの?
自分は完全に趣味でやってるけどX/Twitterの収益化で。。。
結局、年ベースで10万円を超えないような収益だ(BotアプリはDelphi製)
YouTubeでもアプリ作ってlive計画してるけど
明らかに無問題
Community Edition出た時の(現在までほぼ変更無し)
Starter Editionの記述もまだ載ってる
https://web.archive.org/web/20180719120912/https://www.embarcadero.com/products/rad-studio/rad-studio-eula
12CE
https://www.ideracorp.com/~/media/IderaInc/Files/Embarcadero/v12_0/Embarcadero%20RAD%20Studio%20Delphi%20CBuilder%20Software%20License%20and%20Support%20Agreement%20Japanese?v=1
>>180 ライセンス取得者(使用者)が「パン屋さん」なら企業扱い
「パン屋さんで働く個人」なら個人開発者かと
「企業に所属される方が、個人としてCommunity Editionを使用される場合には、
企業のアカウントではなく、個人アカウントによって登録を行うことをお勧めします」
ってわざわざ書いてあるし
Community Editionはどこで使用されているか監視しているんだよね
インターネット接続されているかこっそり確認しているのもこのためだろうね
以下の投稿は会社で個人として使っていたらEmbarcaderoから通知が来て
Architect版を数日以内に購入か法的措置を取ると言われたらしい
https://en.delphipraxis.net/topic/9092-community-license/ >>183 自己所有のPCにインストールしてても
会社で社内WiFiに接続してたら完全にアウトだよね
たぶん起動ごとにエンバカにログが送られてるはずだから
社内で会社のために利用してるのがバレバレ
いまんとこのまとめ
今回判明したのは個人の括りのうちQ&A記載の個人事業主とフリーランスが対象者
Delphi利用外の収益も含めて合算した売上が年間5000ドル相当の基準値超えてると
企業と同じくCEは使えないって条項
>>182のアーカイブ見るとどうやら基準値は以前からあって額は5倍に増加
何が問題かというと
個人事業主やフリーランスは生活できてるなら年5000ドル以上稼げてる人が大半だろうから
Delphi無関係な売上まで算入されると即しきい値オーバーする
だから事実上ほぼ個人事業主やフリーランスは全員CEを使えないってこと
ひと月の売上でオーバーすることもあるんでは?
個人に対してライセンスが付与されないので非商用利用もフリーソフト作成も自分用アプリ作成も何もできん
作ろうとするソフトや作業の種類ではなく開発者自身の売上高で利用許諾が決まるライセンスみたいだから要注意
それに気付かず個人事業主やフリーランスの人がCEで自己利用ツール作ったり無料アプリ公開も規約違反←キビシイ
(これは企業が非商用アプリや社内利用やオープンソースプロジェクトでもCE使えないのと同等の条件)
個人事業主やフリーランスでCEを自分のマシンに入れてると
>>183-184の事例通り利用実態筒抜けで法的リスクが怖い
個人事業主やフリーランスは個人事業と個人趣味のプログラミング目的や機材が混在して切り分けにくい
仮にグレーな使い方してライセンス違反の実態を指摘されたとき「個人事業と同じ機材/ネットワーク内で使ってるけど完全に無関係の個人趣味利用です」を証明するのは難しそう
>>185に対して、サラリーマンや学生の利用なら
給与を5,000ドル換算に入れなくていい
DelphiCE製アプリの利益だけで判定できる
この場合の金額上限は
>>181の言う通りにかなり余裕だよ
DelphiCEでオープンソース手伝えるのも実はこの利用者層だけ
FAQの「Community Editionをオープンソースプロジェクトに貢献するために使用することはできますか?」にもあるが
企業も個人事業主もフリーランスも境界額突破した利用者はオープンソース開発にもCEダメらしい
まあ俺はDelphiのオープンソースプロジェクト見かけたことないけどね
掲示板関係で言うと専ブラのギコナビかな
フォークだが
https://github.com/digital-cat/gikoNaviG2 Delphi 2007だそうだ
ちなみにクローズドだがJaneXenoはDelphi 11だそう
金をけちってるstyleは7
>>186 自分も年金暮らしだから関係ないと思ってた
公開してるアプリはすべてフリーだし
でもtwitter収益化(フォロアー数30万超)でちょっと気にし出した
組織に所属していないIT業界の個人だけが狙い撃ちされている感じ?
おんなじ「個人」枠でも給与で稼ぐリーマンは年俸が何円でもDelphi CE使えてるのに
個人事業主&フリーランスだとDelphi使ってもいない仕事で5,000ドル/年あっただけでもうCE使えないのか?
歪なライセンス体系だなぁ
もし両者Delphi使わず同業界で同額かせいでたとして
フリーランスのひとたちには無料で使わせず除外する理由なんなのか単純に疑問
まずフリーランスにも無料で使わせるべきと考えることが間違っていると思うが
マイクロソフトが特別太っ腹なだけでエンバカレベルの会社の自社製品にそこまで期待するのは酷というものだよ
普通に買いなさいよ
まあ昔に比べりゃ高いけどさあ
フリーランスでやってくんだったらちゃんと買いなさいよ
てかフリーランスの開発者でDelphi使うってのが理解できん
もっと効率的でライブラリも充実してる開発環境などいくらでもあるだろうよ
どんなアプリ開発してるのかちょっと聞いてみたい
今はというかずっとMS製開発環境が迷走してるから古くてもド安定を取るのは間違ってないような
たぶんDelphiのスキルだけじゃ仕事はないと思う
加えて他の言語やWeb言語が必須じゃない?
自分みたいに趣味の世界でやってても
C#やPythonのコードとかを理解してDelphiに移植できないと
希望する機能を実装出来ないことが多々ある
てか そこまでやってDelphiで開発する意味あるのか???
フリーランスが趣味で DelphiCE も規制されるってことだよね
そうっぽいね
アカデミックやオープンソースで特例なくて同じ規制貫いてるのは凄いと思った
非営利にも抜け道ない
趣味レベルなら開き直ってFWで蓋しておけばバレることもないと思うけど
> 売上5,000 USドル以上の会社に勤めていますが、Delphi Community EditionやC++Builder Community Editionを個人用にダウンロードして使用することはできますか?
> はい。
> 会社から支給されたデバイスや会社のネットワーク環境内にCommunity Editionをインストールせず、Community Editionの使用が、会社(すなわち雇用主)の利益とならないという制限のもと、Community Editionを使用することができます。
> Community Editionの使用は、個人的な使用でなければならず、その使用による利益が、雇用主に及んだり、(直接または間接的に)関係している場合には、エンバカデロは、独自の裁量でこれを雇用主の利益とみなし、5,000 USドルを超える売上の企業での使用として、 ライセンス規定の適用範囲外とします。
これは企業での話だけどフリーランスも似たようなもんじゃないかね
あくまで「プログラマー(開発者)として請け負った仕事」の話だと思うよ
そもそも
>>171に示されたQ&Aは「開発を分けて複合的に利益を得る方法を禁止」する趣旨っぽいし
こういう場合ってわざわざ該当者指定して禁止してる条文が用意されてるのに
それを別該当者の条文使ってグレーに薄める判断するの怖いよね
denyが優先なのかallowが優先なのかエンバカ独自の裁量とやらでも変わるし
条文で具体例が書かれるくらいなのに
>>171のQ&Aには
「5,000ドル以上の売上がある個人事業主やフリーランスでも趣味利用は可能」
とはどこにも例外明記されてないのもずっと懸念事項に残り続けて危なくて手を出せないんだよな結局は
ユーザー増やす気があるなら、機能制限して自由に使えるようにすべきだわな
いやもうDelphiには新規の人を呼び込む力はないだろ
今使ってるユーザーが死んだらもう終わり
自分もそう思う
使ってるの年寄りばかりだし
海外の掲示板で顔写真が付くのあるけど
みんな老人
若い人はわざわざ使い勝手の悪いDelphiなんか使わないよ
自分はすでに古希になってしまったから
死ぬまでDelphi使い倒す(何年もFMXでモバイル中心だけど)
>>204 例えばだが、フリーランスのライター(記事を書く人)が個人の趣味で使うのもダメなのか?
会社勤めにおいては直接的、また間接的にも会社に利益をもたらさないのが条件っぽいけど
プログラマーが個人の趣味で使うのはグレーに思える(エンバガの裁量次第という危険)けど
別分野のフリーランスは大丈夫じゃないかと思うんだが
StarterのときにCommunityできとけばなぁ…
>>208 俺も気になる!
EULAだと「個人開発者(individual developer)」が年間売上5,000ドルで利用禁止の文言だけ書いてある
Q&Aだと「企業や組織にサービスを提供する個人事業主ないしはフリーランス(independent contractor)」の表現になってる
EULAの文字通りならフリーランスのITエンジニアを限定した職業制限だけが濃厚だけど
Q&Aの表現も有効ならフリーランスで請負報酬もらってる人全般まで対象者広げてる感じする
これ根拠に別分野のフリーランスのライターさん等はdeveloperではないけどcontractorに該当とか厳しく言われないかな
ライセンスではっきりした可否ない灰色攻めるのはとにかく怖い
真実判明するのは法的に訴えられて高額請求された時...みたいな潜在的リスク背負うのは嫌だな
単なる趣味利用に対する対価として重すぎるもん
「ソフトウェア使用許諾およびサポート契約書」の記述が全てだろ常識で考えて
Q&Aにも「詳細は、ライセンス規定をご覧ください」と書かれててリンクもされてるし
Q&Aはそこから抜粋された簡易な記述でしかない
ってか、Q&Aでも「例えば・・・開発者は」と書いてある
>>211 > Q&Aでも「例えば・・・開発者は」と書いてある
それは俺も思うんだわ
しかしそれは「たまたま出した一例」が開発者だっただけで実質的には開発者以外も、という落とし穴もあると思う
会社業務と違って請負だと公私の区別が難しいのかとも思ったけど
今は会社勤務でも在宅ワークとかあるから会社業務とフリーランスで分ける意味は何だろうかと疑問
会社は会社全体の収益
個人は個人の収益
個人の場合は職業が何であろうがシンプルに、
「何のツール使おうが一度でも開発絡みでの収益が年間$5000に達したらCEは使えない」
と思っておけばいいでしょ
>>213 だからパン屋のオヤジが夜な夜な趣味でCE製のアプリ作って良いの?悪いの?
Delphi Community Editionの「年間収入5000 US$以内」って、以下のうちどれ?
(1)Delphi Community Editionの売り上げに限られる
(2)アプリの売り上げに限られる
(3)すべての収入が対象になるから、年間収入70万円以上収入がある人・会社は対象外
(1)は、Delphi Community Editionで開発したアプリの売り上げに限られる
と読み替えてください
話ぶった切ってすみませんが
この「ドラッグ&ドロップ と ファイル名の情報を取得」
ht
tp
s://
www.
axfc
.
net/u/4085737?key=D6
(QDragDrop.zip↑ソースと説明)が
Windows10 64bit Pro 環境に Delphi 6 をインストールすると
ソースからの「実行(R)」では Drag and Drop でファイルを入れても表示できません。
コンパイルした実行ファイル(.exe)では、拾えてリスト表示が可能です。
Delphi 6 インストール先にある .exe 実行ファイルを片っ端から
プロパティ→互換性→
[/] 互換モードでこのプログラムを実行する: Windows XP (Service Pack 3)
[/] 管理者としてこのプログラムを実行する
にしても改善しません。
原因箇所指摘と修正・対策はありますか?
C:\Program~にインスコしてるようだけど管理者権限だとD&D受け付けないのはWindowsの仕様
ChangeWindowMessageFilterで管理者権限でも受け付けるように出来るけど
https://www.embarcadero.com/images/jp/event/devcamp/session_docs/28/c2.pdf >218
結果的にうまくいきました、ありがとうございました。
Win10pro Intel3th環境をD6インストール前に戻し別フォルダに入れなおしてやってみてました。
C:\Tools\Borland\Delphi6
E:\DevSource\DragDrop ← ソース置き場
でも変わらずで
[/] 互換モードでこのプログラムを実行する: Windows XP (Service Pack 3)
[_] 管理者としてこのプログラムを実行する
で全exeの管理者権限を外していても同様でした。
「Windowsセキュリティ」→「設定の管理」→「除外」でC:\Toolsをフォルダ指定
リアルタイム保護 オフ
でも変わらず。
メニュー「Delphi6」ショートカットのプロパティ→「セキュリティ」
→Everyone [編集] フルコントロール[/]
→Users (〜〜\Users) [編集] フルコントロール[/]
も変わらず。
レスに気づいて>218 のリンク先pdfを良く見て
「ChangeWindowMessageFilter() API の使い方」のソースを元に
FormCreate部分を足すとうまくいきました!
TForm2.WMDropFiles()内の
DragQueryFile(msg.Drop, 0, FileName, SizeOf(FileName));行で
msg.Dropではエラーになってコンパイル通らず
旧の DragQueryFile(Drop,〜 で行けるのが謎
Delphi の新旧verによる差異ですかね?
とにかくありがとうございました。
>>215 (3)だと思う。「たとえば」以降に具体的にダメと書いてあるので(2)か(3)だが、特にアプリ開発に限定している文言がないので(3)だと思う。
だからサラリーマンはダメで、年金生活者もダメだと思う。該当するのはニートくらい。
会社で売り上げが70万以下なら一人分の給料も支払えず成り立たない。
https://www.ideracorp.com/~/media/IderaInc/Files/Embarcadero/v12_0/Embarcadero%20RAD%20Studio%20Delphi%20CBuilder%20Software%20License%20and%20Support%20Agreement%20Japanese?v=1
「 Community Edition のライセンスは、お客様の累積年間収益(営利団体、政府機関、または個人開発者の場合)、または、寄付(非営利団体の場合)が、USD $5,000.00(または他通貨での等価)(「しきい値」と呼びます)を超えない場合に、単独で適用されます。 お客様が個人開発者の場合、1 暦年の間に開発者によって行われたすべての契約作業の収入が、「しきい値」を超えてはいけません(すべてのプロジェクトに対して、Community Edition が使用されているか否かにかかわらず)。
たとえば、1 つのプロジェクトに対して $5,000.00(または、複数のプロジェクトに対して $5,000.00 以上)の支払いを受けている開発者は、それらの契約が Community Edition の利用を考えていないものであっても、Community Edition を利用
する自体許可されません。 」
ちなみに日本語の「収益」は英語ではrevenueとなっているので「収入」という意味と解釈できると思う。
>>220 あー、めんどくせえ、いっそ今作ってるソフトを有料にしてやろうかな?
年間70万も売れるはずないし、仮に売れても誰もわからないだろ?
ライセンスはそもそも収入のない
小、中、高、大学生をターゲットにしていることは明らか
オマエラはちゃんとライセンスを購入しろってこと
メモリ消費のことだけど、ちょっといい?
あるアプリで起動後に100MB以下になる時と
300MB近くまで増加してそれが継続する場合があるんだけど
何が違うんだろうね
起動時に一時的に確保するメモリとか、その順番とか、
またはメモリ解放時期が影響してくるんだろうか?
そんなん要因はいろいろありすぎてって感じ
GCとかメモリアロケータとかOSとか
TControlList で最上位に表示されてるアイテム(index)を取得する方法ないですかね
TListView の TopItem みたいなのです
プロパティでは見当たらず、OnBeforeDrawItem イベントくらいしか Indexを取得するところが無くて..
自己解決しました
スクロールバーの情報から取得できました
var ScrollInfo: TScrollInfo;
ScrollInfo.cbSize := SizeOf(ScrollInfo);
ScrollInfo.fMask := SIF_ALL;
GetScrollInfo(ControlList1.Handle, SB_VERT, ScrollInfo);
var TopIndex := ScrollInfo.nPos div ControlList1.ItemHeight;
delphi30周年記念を目前にして景気の悪い無料CEライセンス体系を再教育させられただけだったからな…
まあCE使わせてもらってる自分としては
Delphiが存続してるだけで感謝
最近は3Dにハマってるけど資料が少なすぎる
まあユーザー数が少ないからしょうがないけど
自分で作った法線データを表示させるだけで四苦八苦
今は常にカメラを向くオブジェクト(ビルボード)作りに励んでるけど
線型代数の知識のない自分にはチンプンカンプン
1月30日、開発者イベント「Delphi 30th Developers Day」開催!
>>235-236 知識のない自分にはコード化するのは難しそう
ちなみにbing/Copilotでの
「fmx 3d object faces always the camera」の検索結果
procedure TForm1.UpdateObjectFacingCamera;
begin
if Assigned(Camera) then
Object3D.LookAt(Camera.Position);
end;
ハッキリ言ってデタラメ
他の3D開発言語にある便利なLookAtはFMXにはない
Delphi生誕30周年のイベント告知読んでスレ見に来たよ
無料版ちょっと手出しにくい規約になってるのか
製品版も想定よか1桁高くておったまげたぞ
20年ぶりに使ってみたかったが無償有償版共に俺は想定ユーザー層から大きく外れてしまってるようだ
記念日に合わせて何か方針が変わりそうな雰囲気とかありそう?
>>240 何かあるとすれば月末の記念イベントが唯一のタイミングだけど…何か出てくる空気感じゃない。
StarterからCE経て8年間ずっとこうだったんだFAQにも利益出すバランスのためって書かれてるし当然今後もこのまま。
2万かと思ったら20万超えなのか!
アンティークのレアモノ価格みたいになってた・・・
かつてのような比較的買いやすい個人向けの5万円前後で
Delphi30周年限定エディション出してくれたら記念に買いたい
そう言えばPASCALのスレ無くなってるな
(ObjectPASCALやDelphi除く)
30周年記念にフィリップ・カーンとアンダース・ヘルスバーグは招待しないのかよ
少ないといっても1万ぐらい行ってると思ってみたらまさかの300台😭
>>249 たぶん会場には9700人いたんだろうと思う
FMXのスタイルデザイナにある「プラットフォーム」って
Windows 11 Desktopがデフォルトで表示されるけど(12.1 CE)
ここで設定したスタイルって
アプリをWindows 10で実行したら適用されないことに気づいた(当然?)
Windows 10 Desktopを追加して設定しなくちゃならないんだな
プログラマーに最も人気のプログラミング言語とは?2025年2月のプログラミング言語人気ランキングが発表される
1 Python
2 C++
3 Java
4 C
5 C#
6 JavaScript
7 SQL
8 Go
9 Delphi
9位まで上がったのか。
良いものは残るよな。
あとは値段下げてくれ。
パパが息子に買ってやれる値段にしてくれ。
pythonってプログラムしててもつまらないですネ
巨大企業が推しているわけでもなく、業界標準仕様でもなく
弱小企業が作っているのに9位はある意味凄いな
検索エンジンでのヒットランキングか
そんなに情報多いイメージ無いが
壊滅的にユーザー見かけないのに
胡散臭すぎるランキングだな
検索?
それなら、オレ、ここ3ヵ月毎日100回以上delphiで検索してるぞ。
>>264 そこインチキだと思う。
前はよく読んでたが検証するとなんだかなぁという記事が多い。
今は見ないようにしている。
flutterのdartやkotlinもないが...
perlはWebではオワコンだが本来用途の「ちょっといいシェルスクリプト」としては現役だぜ?
Peal
正規表現がなかなか見づらく理解し難いにでdelphiでその表現でマッチするかのコード書いてプログラミングに利用しているが後方参照でつまずいている。
XでMVPがところかまわずクソリプしまくるのは何とかしてほしい
>>274はnifty-serve時代から延々と受け継がれるダジャレなんだ
RADの1年使えるDelphiを再ダウンしてインストールしたら、バージョンが12となり小数点以下が無くなってた。オープニングの赤色も血液色になってた。これって古いやつなの?
>>278 トライアル版とかかな
バージョン情報に Community Edition て書いてある?
>>279 ずっと気になってたんですが
以前のRADの無料版と今のやつはアイコンが違いますよね。
今のはDelphiの無料版ですよね。
RADの無料版と言うのは無くなったんでしょうか?
前は、RADにDelphiとC++Builderを入れてたんです。
>>281 Community EditionはDelphi CEかC++Builder CEの単体しかない
両方使いたいならそれぞれDLしてそれぞれ個別にインスト
RAD CE版は存在しない
RADは製品版かそのトライアル版だけ
>>278 オープニング画面に12.1って書いてない?
>>283 でもTOKYOから3回か4回くらいのバージョンアップまで1年無料版を使ってたよ。
>>284 前は12.1と表示されてたが今のは12とだけ。そしてピンク色ぽい赤から血液色の赤になってます。
前に間違ってDelphiの1年無料版を落としてアイコンが違うのでRADを落とし直した経験がある。
だから2種類あったはず。当時は。
>>283 あとTOKYOの時はRADにDelphiとc++を入れてたよ。インストールの時に両方選べた。
>>288 ただし使う時は両方のSiriを貰っておかないといけない。
>>283 それからTOKYOはRADだよ。
何年ぶりかで無料版が出たとあちこちで話題になり多くの人がインストールしただろう。あれは無料版のCommunity Editionでしょう。
ちょっと勘違いしてたわ。
最初の無料版はベルリンだったわ。
RAD Studio 10.1 Berlin Starter Edition"
DEKOさんの記事がまだ残ってたわ。
https://ht-deko.com/ft1608.html#160823 ここに当時のインストール記事がある。
これ見てインストールしたよ。
自分もバカだね。
Community Editionでなく
Starter Editionだわ。
>>294 今、Getlt経由でパッチ当てたら12.1になりました。ドジですね。自分。
でも前回のインストールの時はなんで初めから12.1だったんだろうね。
知らずにパッチ当ててたのかなぁ。
アプリのフォルダをコピーして別の場所(フォルダ)にペーストし、
そこで開発を続行したいんだけど、何か気を付けることってある?
*.dprや*.dprojファイルには絶対パスは書かれてないけど
*.dproj.localファイル、*.dskには元のフォルダの絶対パスが書かれてる
また、ImageList内の各アイテムのFilenameも絶対パス
たぶん、その他にもいっぱいあると思う
このままじゃ何か修正しても、元のフォルダの方が修正されそう
これを可能にするコマンドとかある?
>297
最近のは知らない(D6,D7時代の知識だけど)が
現行の開発中状態から「プロジェクトに名前を付けて保存」で移行させたいフォルダを指定
その後に「すべて保存」をすると移行できるし
終了後、再開で「プロジャクトを開く」窓のデフォ状態から
「ファイル名: |▼」部分押しで移行先フォルダアドレス出ますが?
現行のデルファイは知らない
やってみたけどダメだった
移動したフォルダには*.dprとかはコピーされてるけど
「すべて保存」しても新フォルダには*.pasとかはコピーされない
新しい*.dprojの中身を見ると元のフォルダ内の*.pasを指している
この状態で何か修正すると
その修正は元フォルダのファイルに反映されるみたい
やっぱフォルダごとコピーして
絶対パス部分を手動で置換するしかない?
半額でも高いからな
アップデートだけできて価格が1/10ならワンチャンあるかもだが、今のままでは卒業してDelphiさようならになりそう
いや、既になってる
>>299 そもそも絶対パスになっている時点でおかしい
プロジェクトファイルの位置を起点として相対パスになるはずだよ
現になっている部分は手動で直すしかないと思う
>>302 ええと、
>>397に書いたように
*.dprや*.dprojファイルには絶対パスは書かれてない
それでサンプルプログラムを作って「プロジェクトに名前を付けて保存」で
新しいフォルダに保存してみた
1) *.dfm/fmxや*.pasファイルは新しいフォルダに保存(コピー)されず
元のフォルダのファイルを使うような仕様になってる
2) リソース関係も元のフォルダを指している
TestSampleVCL_Originalファルダ内のプロジェクトを
TestSampleVCL_Movedファルダに保存
>>303 >>299で「絶対パス部分」って言うてるのは?
普通(という表現は適切じゃないかもしれないが)はフォルダごとコピペで問題ないのよ
もちろんImagesフォルダやiconsフォルダも含めてね
で、それ見る限りパスの指定がおかしい
<Icon_MainIcon>..\TestSampleVCL_Original\Icons\app-icon.ico</Icon_MainIcon>
先頭にドットが二つあるだろ
これだと相対パスで現在地→親→TestSampleVCL_Originalを指定していることになっている
コピーした先が親が同じProjectsフォルダだったから、TestSampleVCL_Originalが存在することで偶然パスが通っているに過ぎないミス
<Icon_MainIcon>Icons\app-icon.ico</Icon_MainIcon>
みたいに相対パスで親を辿らないようにしなきゃダメ (分かっていると思うけど\記号はその画像でのバックスラッシュね)
面倒だろうけどこういうのは自動じゃ直らないと思うから全部手動で書き換えが良いかと
リソースファイルの方も同様
こういうのが起きる原因として一つ考えられるのは最初追加するときにプロジェクトを保存してなかったんじゃないかと思う
つまりProjectsフォルダがカレントディレクトリの状態で追加したから、そこからの相対パスに設定されて、その後プロジェクトを保存したことで面倒なことに親を辿ったルートになったのかなと
原因はあくまで推測なんで間違ってるかも
>>304 >TestSampleVCL_Originalが存在することで偶然パスが通っているに過ぎないミス
と言われてもDelphiが勝手にやってることだし
TestSampleVCL_Originalフォルダ内の元のdprojは
<Icon_MainIcon>Icons\app-icon.ico</Icon_MainIcon>となってる
これをプロジェクトの別名保存を実行した段階で
(たぶんDelphiが気を利かせて)
TestSampleVCL_Movedフォルダ内の新しいdprojでは
<Icon_MainIcon>..\TestSampleVCL_Original\Icons\app-icon.ico</Icon_MainIcon>
とDelphiが自動で修正したということ
「プロジェクトに名前を付けて保存」で
すべてコピーされたと勘違いして元のフォルダを削除すると
ソースが失われる危険性があるのが怖い
>>305 だからなんで「プロジェクトの別名保存」なんてするのよw
そこを起点として相対パスが設定されるのは当然じゃん
で、仮に試したいけど元のデータが失われるのが怖いなら
Original を copy1 にコピー
Original を copy2 にコピー
そんでcopy1でいろいろ試せばいい
それでOriginalが変更されたとしても、copy2をOriginalにコピー(もしくは移動)させれば復元できるだろ
プロジェクトファイルとソースファイルは別
プロジェクトファイルの位置を変えたって、プロジェクトが参照しているソースファイルの位置は変わらない
だから相対位置が変わる
.dproj.localファイルはおそらく一時ファイル、消してもどうせ再生成される
.dskファイルはデスクトップ配置が保存されるらしいが俺は無効にしてるからないのではっきりとは分からんが
どのみち削除してもデスクトップ配置やブレークポイントがリセットされるぐらい
ImageListにフルパスが含まれているってのは分からん
アレはバイナリをバイト文字に変換して保存しているはずなんでパス情報はないはずだけど……
元々は
>>297でプロジェクトフォルダを
フォルダ名を変えてコピーして開発を継続したいって質問で
それに対して
>>298が「プロジェクトに名前を付けて保存」って
回答があったんだよ
それでプロジェクト別名保存の話に移って。。。
自分はあくまでフォルダごとコピーするつもり
あとImageListは悪い、FMXのほうの話
*.fmxファイルに バイナリに加えて絶対パスのファイル名が書かれてる
FMXは使ったことないから分からん
相対パスに書き換えて問題なきゃそれが一番いいが
ただPNGとしてバイトデータで保持しているからIDE上の操作ぐらいでしか使わないパスじゃないかと思う
俺なら邪魔くせーとFileNameの行ごと削除する
RAD Studio / Delphi / C++Builder 12.3リリース
キャンペーン期間もう終わったのか
またやってくれよ
Delphiとyt-dlpで動画をダウンロードするプログラム作ってたんだが、言葉の定義で教えてほしい。
「字幕を埋め込む」とは動画内に字幕が合成される事を言うのですか?それとも字幕ファイルが同時にダウンロードされる事を言うのですか?
何度やっても字幕ファイルがダウンロードされるだけなもんで。
遅ればせながら24H2にアップデートした。。。とたんに
IDEは起動するけどプロジェクトが開けなくなった
イベントログで調べると.net関係のエラーでクラッシュしてた
アップデートに.netのアップデートが来てて事なきを得たが
ちょっと調べたら今のIDEには
Delphi8の.NETでコーディングした部分が少なからずあるらしい
そんもんか
>>313 yt-dlpは知らないけど
単純に「字幕を埋め込む」っていうと
動画ファイルに字幕データを組み込んで
再生時に同期して字幕を表示するってことじゃない?
少なくともハードコードというか
動画に焼き込むとは違うと思う
(昔AviUtlとか使って字幕付けて
イケないファイルを公開してた頃が懐かしい)
>>317 やはり、字幕ファイルを同時にダウンする事ですか。
変な日本語。埋め込むと言う表現は間違ってると思うよ。
そもそもDelphi関係ないよなーと思いつつ
まあ雑談ってことで
>>319 そうじゃなくて、動画データとは別にメタデータとして動画ファイルに字幕データを書き込むってことよ(たぶん)
動画ファイルと字幕ファイル別々って意味じゃないと思うぞ
>>317が言っているのはTVのように動画そのものに字幕を付けるわけじゃないってだけ
字幕については俺も詳しくはないけど保存しようとしているファイルタイプによっては字幕データを書き込めない場合もあると思う
>>320 オレも最初そのように解釈してたよ。
だからハマった。
字幕埋め込みやると動画と字幕ファイルをダウンロードするからね。動画に字幕を書き込むものでなかった。
で、いろいろ調べてるうちにFFmpegで動画に焼きつけるHPがあったんや。しかし、1時間の動画ならほぼほぼ1時間かかるんや。PCの性能かもしれんが。
こりゃダメだと思うと同時に埋め込みと焼き付けては違うのか?と思ったわけよ。
>>321 そもそもそのyt-dlpもffmpegのラッパーみたいなもんよ
動画のあれこれはそっちに回してる
動画と字幕ファイルをダウンロードするってのも当然で、
(たぶん)ffmpegが直に字幕ファイルを取得できないから代わりにyt-dlpがダウンロードしてる
そんでffmpegに動画ファイルと字幕ファイルを渡して「字幕が埋め込まれた動画ファイル」を生成するようになってるんだろうけどそこでコケてるってわけ(たぶん)
再生と同じだけ時間がかかるってことはエンコードもやり直しているんだろうけど、指定パラメーター間違ってるんじゃない?
すでにダウンロードしてあるならffmpegのスレかサイト探せばいいんじゃない
>>322 面倒くさくからも言うと
何もわかってないね。
そもそもここはDelphiのスレ
yt-dlpはPythonスレかyt-dlpのスレへどうぞ
プログラムを組むのには色々な知識や他分野のアイデアや失敗談が参考になるのに薄っぺらい人間は「ここはdelphiのスレだ」だと批判する。
結果どうだ、さびれるだけだろ。
>>324 何でお前が仕切ってんだ。
説明しろや。
てかやっぱyt-dlpの話は
ここじゃ良い答えを得られんだろ
>>325-328 お前のようなキチガイが我が物顔でスレを荒らすから廃れるんやでw
delphiでyt-dlp使ってプログラムを組むのはダメでプロジェクトファイルや無料版の使用条件の話はいいのか?
ここはプログラム板だろうが。
視野が狭いのなお前ら。
>>329 yt-dlpに限定した質問でなく「埋め込む」と言う意味についての質問だろう。
プログラム組んでたら埋め込むと言う案件に出会わないできただけだろう。お前ら。で、ffmpegでは焼き付けると言ってる人がいる。どう違うんだと言う事だ。
yt-dlpがDelphiで描かれてる
ffmpegがDelphiで描かれてる
browserがDelphiで描かれてる
どれにも該当しない
>>335 揚げ足取りはDelphiに関係ありません。
どっかに行けやアホ。
ここは、俺が仕切ってる。
Delphiのプログラミング以外の投稿は、俺以外許さん。文句ある奴はどっかへ行け。
>>331 delphiでyt-dlp使ってプログラムを組むってどういうことですか?
CreateProcessかShellExecuteでyt-dlp呼び出すぐらいの話じゃないんですか?
どっちにしろそれだとyt-dlpのコマンドラインの使い方の話ですよね?
やっぱりDelphi関係ないんじゃないですか?
それともPython実行環境をDelphiで作るプログラムに実装させるって意味なんですか?
delphiでyt-dlp使ってプログラムを組むってどういう意味なんですか?
教えてくださーい
>>345 プログラミングで「字幕を埋め込む」の定義を教えてほしい。と質問している。yt-dlpやffmpegは具体例。
>313が質問だ。
>317の回答で>319で一応納得している。
>320がたぶんと言いながらひっくり返す。
以下、わけわからん奴が知ったかぶりしてお終いには
スレ違いだと言って逃げた。
>>345 delphiでyt-dlp使ってプログラムを組むってどういう意味なんですか?
CreateProcess
ShellExecute
CommandLineUni
など外部プログラムを「呼び出すぐらいの話」ですが
それくらいの話では問題ですか?
DelphiというかObjectPASCALのコンパイル環境って円馬鹿以外にあるのか
Lazarusがまだ開発続いてるよ
どれ位使われているかは分からん
>>345 お前さ
俺がお前の質問に丁寧に回答してんのにお前は俺の質問は無視か?
人間が出来てないな。
「呼び出すぐらいの話」ならいいけど、どういうパラメーターを指定するかはスレ違いだ
呼び出し方ならこのスレでいい
それは言語特有の書き方があるからだ
けどパラメータに指定する文字列はどうすれば?みたいなのはスレチ
呼び出すプログラムによって違うのは当然なのでそのプログラムのスレで聞け
分かっているパラメータを指定してもその通りに動かないなら、呼び出し方の問題の可能性があるのでこのスレでいい
>>353 誰もパラメーターの話なんかしてないだろ。
「埋め込む」と言うプログラミング世界での定義を聞いてるだけだ。
レベルが低くて仕方がないわ。
知ったかぶりはやめな。
>>353 だいたい何を根拠で「ここでいい」とか言ってんだ。お前の定義なんかいらねぇんだよ。
プログラミングにおける「埋め込む」には、次のような意味があります。
アプリケーションプログラムにSQL文や他のプログラムを埋め込むこと
コンピュータプログラムにバグ(欠陥)をわざと埋め込んでテストを行うこと(エラー埋め込み法やバグ埋め込み法)
Delphi 関係ないね
ダウソスレにいくといい
>>356 黙れアホ。
お前の一生懸命調べた反論くらいとっくに知ってわ。
弱虫が駄々こねてねぇでママのところに行って言いつけてこいや。
> 「埋め込む」と言うプログラミング世界での定義を聞いてるだけだ。
なるほど!
Delphiスレでそんな言葉聞いたことないな
あるとしたらOLEぐらいか?
つまりスレチだ
>>358 軽い投稿ばかりしないでな
delphi 埋め込むで検索しな。
お前の無知がわかるから。
検索して出てくるのは「プログラミング世界での定義」ではないけどなw
もちろんDelphiでの定義でもない
そもそも論点が違ってるんだよなぁ
「字幕を埋め込む」を知りたいはずだろうになんで「delphi 埋め込む」になるんだかw
そういう馬鹿な考えしているから求めている答えにいつまでたってもたどり着けない
fmpegかyt-dlp、字幕を埋め込む がキーワードなわけでdelphi関係ないんだがwww
字幕スーパー
super impose
「superimpose」は「重ね合わせる」「上に置く」「合成する」という意味の動詞で、「スーパーインポーズ」と発音します。
>>360 ほんと、ガキだな。
ムキになってDelphiでの定義でないとか。
お前が仕切る事でないのな。お前の定義はいらないのな。わかる?
お前、いちいち全スレをそうやって評価してんのか?
恥かくだけだから、あらしはやめな。
6レスでしかも連投までしてるほうがガキだしムキになっていると思います
最近盛況で楽しいね
これくらいDelphiも盛り上がればいいのにね
1、スレッドが立つ。
2、技術のある人間がAAを提供して盛り上げる。
感動を求めて人が集まってくる。
3、オリジナルAAを書ける人間が乗ってきてさらに盛り上げる。最盛期。
4、盛り上がりに乗じて何も書けない魯鈍と白痴が寄ってきてスポイルする。 ←いまここ
彼らの無駄な愛着が逆効果を及ぼし、スレッドのレベルが著しく低下。
5、飽きて大勢が去っていき、行き場の無い魯鈍と白痴が残される。
低レベルな自慢・偏見の陳列、煽りあい、無駄な罵倒、
いわゆる「2ちゃんねる用語」を多用したお寒いレス等々が並ぶ。
6、煽りと罵倒しか出来ない魯鈍まで魯鈍同士の空疎な煽りあいに飽きて去る。
7、何も提供できない白痴が過去の栄光の日々を夢見て空ageを繰り返す。
脳死状態
該当スレが存在しアドレスアンカーがあって書き込めれば移動します。
作成はDelphiで組んでいます。
機能の一部でinput.MP4,mov,aviの動画を調べてShellExecuteでFFmpegを呼び出して処理させている。
(H.265であればH.264に変換させる等)
知りたいのは特にmp4のカラービットBit depth(ビット深度)の8/10/12 Bit判定がドコを参照すれば判るのか?
最終的にやりたいのは input.mp4 が 8bit以外であればH.264 8Bitに自動変換させたい。
同様の質問を「黒羽製作所 総合掲示板 真空波動研」スレに投下中でそちらにはアップルQuickTimeへのアドレス有りです。
ソフトウェア板(ffmpegスレ)にはどんぐりがどーたらで書き込めない。
真空波動研のDLLを使うのは?、は
DLLを動的リンクさせてinput.mp4のBit判定をリザルトで受け取れたら楽だろうけど
それはそれで仕様が公開されていないのでD6での使用方法が分らない
>>369 コマンドラインバージョン使って、そのテキストを解析すればいいのでは?
「作成はDelphiで組んでいます。
機能の一部でinput.MP4,mov,aviの動画を調べてShellExecuteでFFmpegを呼び出して処理させている。
(H.265であればH.264に変換させる等)
知りたいのは特にmp4のカラービットBit depth(ビット深度)の8/10/12 Bit判定がドコを参照すれば判るのか?
最終的にやりたいのは input.mp4 が 8bit以外であればH.264 8Bitに自動変換させたい。」
この文章をそのままGrokに貼り付けたらサンプルコードを書いてくれる
MP4動画のビット深度(8bit/10bit/12bitなど)を判定するには、動画のコーデック情報やメタデータを解析する必要があります。DelphiでFFmpegを活用しているとのことなので、FFmpegのコマンドラインツールであるffprobeを使うのが最も効率的です。ffprobeは動画ファイルの詳細なメタデータを取得でき、ビット深度も確認可能です。
ここは、俺が仕切ってる。
Delphiのプログラミング以外の投稿は、俺以外許さん。文句ある奴はどっかへ行け。
レスありがとう
>370 372
ShellExecuteで外部プログラム結果をテキスト出力させて
それをDelphiのTMemoに読み込んで行を特定して抜き出すという感じ?
>371
スマホ超初心者で課金系はパスです。
>372
ffprobe の出力例一部抜粋
Stream #0:0[0x1](eng): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(pc, bt709), 5320x2280 [SAR 1:1 DAR 7:3], 120149 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: hevc (Main) (hev1 / 0x31766568), yuvj420p(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 5440 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: h264 (High 10) (avc1 / 0x31637661), yuv420p10le(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 31555 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 32117 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
上から10/8/10/8 Bit
'Main 10''High 10' 部分が色深度10Bitだろうか?
ffprobeのソース見てmp4部分を特定させる自信がないー
動画trakのメタデータ'xxxC'atom内っぽいなーとは思ってるのですが
詳細な資料にたどり着けてなくて
>>374 それでもいいし、
パイプ作ってそれを渡す(ただしShellExecuteでは出来ないんでCreateProcess)
サブプロセスのstdoutにセットしてDelphiのほうでReadFileする、というのでもいい
>>374 いや、今はGrokはxユーザーなら誰でも無料で使える
Grokが書いたコードも直接ここに貼り付けてやろうと思ったが
長すぎて何度も書き込みに失敗したから諦めた
とにかくxアカウント作ってGrokに聞くといい、必ず力になってくれるはず
ffprobeで処理するなら出力形式をJSONにできる
-hide_banner -print_format json -show_format -show_streams
>>373 オレの真似するお前。
これはいいんだ。
お前は出てけ。
MP4ファイルのビット深度は、主に以下の情報を参照することで確認できます:
コーデック情報:H.265(HEVC)やH.264(AVC)の場合、ビット深度は動画ストリームのプロファイルやピクセルフォーマットに依存します。
ピクセルフォーマット(Pixel Format):yuv420p(8bit)、yuv420p10le(10bit)など、ピクセルフォーマットからビット深度を推定可能。
FFmpegのffprobeコマンド:ffprobeを使うと、動画のメタデータを詳細に取得でき、ビット深度(bits_per_raw_sample)やピクセルフォーマット(pix_fmt)を確認できます。
特に、ffprobeの出力から以下のフィールドを参照:
bits_per_raw_sample:ビット深度を直接示す(例: 8, 10, 12)。
pix_fmt:ピクセルフォーマット(例: yuv420pは8bit、yuv420p10leは10bit)。
ffprobeコマンドでMP4ファイルのビット深度を取得する例:
ffprobe -v error -show_entries stream=bits_per_raw_sample,pix_fmt -of json input.mp4
出力例(JSON形式):
{
"programs": [],
"streams": [
{
"bits_per_raw_sample": "8",
"pix_fmt": "yuv420p"
}
]
}
bits_per_raw_sampleが「8」であれば8bit、「10」であれば10bit。
pix_fmtがyuv420p10leやyuv422p10leなら10bit、yuv420p12leなら12bit。
注意:
一部の古いコーデックやファイルではbits_per_raw_sampleが空の場合があります。その場合はpix_fmtを参照して推定。
H.265では10bitが一般的ですが、H.264でも10bit(High 10 Profileなど)が存在するので注意。
それDelphiのコードでないよね。
ここの、微妙なスレにこのタイミングで、空気読めない?
それDelphiのコードでないよね。
ここの、微妙なスレにこのタイミングで、空気読めない?
D6でjsonコンポーネントが難儀なので構成はこんな感じでいきました
-hide_banner -v error -i input.mp4 -print_format json -show_streams > Output.json
以下かなり省略です 1レス最大32行と警告食らってしまったので
uses
Delimiter, // 外部関数OrderStr
function TForm1.FFprobeBitdepthPickUp(FullFileName: String) : Boolean;
var
(略)
begin
Cmd:='FFprobe 〜(略)' + CacheDir + '〜.json';
Memo.Lines.Add(Cmd);
Memo.Lines.Add('exit');
Memo.Lines.SaveToFile(SaveName); // CacheDir + '〜.bat'
ShellExecute(Handle,'open',PChar(SaveName),'',PChar(ExtractFilePath(Application.Exename)),SW_SHOWDEFAULT);
ListBox_Convert.Items.LoadFromFile(FileName); // CacheDir + '〜.json'
LineMax:=ListBox_Convert.Items.Count -1;
for Index:=0 to LineMax do
begin
Str:=ListBox_Convert.Items[Index];
ib:=Length(Str);
StrA:='';
for ia:=0 to ib do
begin
if ord(Str[ia]) <= $22 then Continue;
if ord(Str[ia]) <= $2C then Continue;
StrA:=StrA + Str[ia];
end;
StrB:=LowerCase(OrderStr(':',StrA,0));
if StrB = 'profile'then Profile:=LowerCase(OrderStr(':',StrA,1));
if StrB = 'codec_type' then CodecType:=LowerCase(OrderStr(':',StrA,1));
if CodecType = 'video' then Break;
end;
BitDepth := 0;
if Profile = 'main' then BitDepth:=8;
if Profile = 'main10' then BitDepth:=10;
if BitDepth <> 0 then Check:=True;
終了時にCacheDirごと一時ファイルをデリート
>>381 >382
ありがとう!
とりあえず映像深度の数字だけ欲しかったけど他も参照できる余地を残して
-show_streams 全部を出力させることにしました。
頭悪そうなコードになってしまいましたが
他にも動画情報取得に悩んでいる人にもと
リザルトをBooleanにしてるのは他の関係上です
>>383-384 お前は仕様を理解せずコードだけ求める馬鹿か?
>>387 GJ !!
>386 訂正行 if ord(Str[ia]) = $2C then Continue;
デバックに動画を放り込んでると
'〜.json'ファイルが読み込めない(まだ出来上がってないから)と怒られるケースが出た。
さらに頭悪そうなコードを追加
ListBox_Convert.Items.LoadFromFileの1行を
以下に変更
for ia := 0 to 1000 do
begin
Application.ProcessMessages;
if FileExists(FileName) then // '〜.json'ファイルが存在するか?
begin
ListBox_Convert.Items.LoadFromFile(FileName);
Break;
end;
Sleep(100); // 待機
end;
プロセスの終了まで待機させないといけないからかーとこっちにしてみるも
参照 FDelphi Delphi Users' Forum [Q]CreateProcessのパラメータの使い方がヘルプを読んでもよく分かりません。
ht 〜アドレス貼れなかったので略〜
CreateProcess(Nil,PChar(SaveName),〜(略)
テキストでのバッチファイル実行はShellExecuteと同じ結果。
直接FFprobe実行を指定してみると実行できない?っぽいのだが
CreateProcess(Nil,PChar(Cmd),〜(略)
これは '>' 指定はあくまでバッチファイル用なのかな?と無しでやっても
パスは通ってても'〜.json'ファイルが作られないから進まないという結果に(謎)。
(バッチファイル実行ではFFprobeが無くてもパスが通ってなくて起動できなくても
0バイト(空)の'〜.json'ファイルが出来るだけなので処理が通過する。)
う〜む
CreateProcessでProcessInfoのプロセスハンドルと
WaitForSingleObjectでプロセス終了するまで待機
>のリダイレクトはコンソール用だから
CREATE_NEW_CONSOLEフラグ指定したらどうかな
あってるかしらんが
プロセス終了待ちは解決しました。
ShellExecuteからCreateProcessに変更
詳細書こうとするとエラー
>390 のタイトル先をベースに「プロセスの起動と終了を待つ mam-mam vcl_createprocess」検索先を使用。
「Delphi Programming Object Pascal mrxray」の 500_ 490_ 494_ 各検索先も参照。
RetValBool:=CreateProcess(Nil,PChar('Cmd.exe /C ' + SaveName),〜(略)
とコマンドプロンプト起動の引数扱いのCmd.exe監視にしたら待機になりました。
※mam-mamアドレス参照コード内の
「起動待ちでエラー」表示処理部分を使うとエラー表示になって終了するのでごっそり削除。(謎)
「黒羽製作所 総合掲示板 真空波動研」スレに管理人さんからレスがあり
H.264ならavcC
H.265ならhvcC
の中のSPSにある、bit_depth_luma_minus8
の部分がBit depth(色深度)と教えてもらいました。
プログラムの読み込みで'hvcC'atom位置までは自力でたどり着けているがそこから内容がイミフ
以下これまでの各参照。
https://
QuickTimeフォーマットの仕様書
→ developer.apple.com/documentation/quicktime-file-format
Video Sample Description 'avc1''hev1''hvc1'等の構造
→ engineering.dena.com/blog/2022/07/hevcplayerview/
'hvcC'のdata部分は外部に飛ぶ
→ www.itu.int/rec/T-REC-H.265 → pdf
HEVC Video with Alpha Interoperability Profile (Preliminary)
→ developer.apple.com/av-foundation/HEVC-Video-with-Alpha-Interoperability-Profile.pdf
資料が難解で頭沸きそうdeath!
以下新規の参照例
https://
ExMP4.Box.Hvcc
→ hexdocs.pm/ex_mp4/0.7.0/ExMP4.Box.Hvcc.html#summary
DelphiのIntegerは32bitで最大4バイトだけど↓2バイトなのか?
non_neg_integer(), ←ビッグエンディアンの?何バイトだろう?
'hvcC'のdata構造はコレで合ってるのかな?
@type t() :: %ExMP4.Box.Hvcc{
bit_depth_chroma_minus8: non_neg_integer(),
bit_depth_luma_minus8: non_neg_integer(), ←※この部分?
chroma_format_idc: non_neg_integer(),
constraint_indicator_flags: non_neg_integer(),
level_idc: non_neg_integer(),
nalu_length_size: non_neg_integer(),
num_temporal_layers: non_neg_integer(),
ppss: [binary()],
profile_compatibility_flags: non_neg_integer(),
profile_idc: non_neg_integer(),
profile_space: non_neg_integer(),
spss: [binary()],
temporal_id_nested: non_neg_integer(),
tier_flag: non_neg_integer(),
vpss: [binary()]
}
バイナリの自己例(どーれーだー頭沸きそう)
bytes: Binary : Data field
4 : 00 00 00 7D : Size
4 : 68 76 63 43 : "hvcC" Atom
01 02 20 00
00 00 00 00 ←※2段目が無しという事はないハズなので4バイトじゃないよね
00 00 00 00 B4 F0 00 FC 00 0F 03 A0 00 01 00 21 (略)
>395 396 ありがとう
>397 は何度も書き込み試行で名前欄の文字が変わってしまった。
参照先に解説は無かったようなので試行錯誤してると
バッチファイルを直接起動させずにCreateProcessで
コマンドプロンプト起動の引数扱いで親Cmd.exe監視にしたら待機になりました。
FFprobe利用はセーフネット扱いなので400-401内容で詰まってます。
exeを小文字の実行ファイル名書くとサーバーエラーで蹴られるんですねココ
Delphi CE 11.3のライセンスキレたんで12.1入れたらメニューのプロジェクトクリックしただけで落ちる
しかたないのでVMでWindows11入れてDelphi12.1入れたら問題無かったのでそっちで使う事にするけどなんかもにょる
(質問者は368です)
今の対象は"FFmpeg""FFprobe"なのでOSが64bit以外では処理を飛ばしてます。
>398 を応用しTMemoに
Memo.Lines.Add('where FFprobe > ' + CacheDir + 'WhereFFprobe.txt');
バッチファイルとして書き出して
コマンドラインで実行し
function TForm1.CmdExeExists(ExeName,TargetName: String) : Boolean;
RetValBool := CreateProcess(Nil,PChar('Cmd.exe /C ' + ExeName),略
生成されるテキストが0行かどうかで判断させてるのですが
関数化に汎用性を持たせようとすると
昔のXPではwhereコマンドが無いと警告を受けてしまいました。
どのOSから搭載されてるんでしょう?
ググり方「windows where command prompt 何時から 搭載」等が悪いのか
「コマンドプロンプトは昔からあります」みたいなのばっかりレスられてしまう。
次はOSバージョン調べて回避するコードいれないと・・・
Windows の保護領域内でiniを作るとWin8以降ぐらいから
OSドライブ名:\Users\[ユーザー名]\AppData\Local\VirtualStore\Program Files [(x86)]\[実行アプリの階層構造〜]\〜.ini
に生成される訳でそれぞれに以下をすると
if FileExists(TargetFullPath) then Count := Count + 1;
自動的に割り振られてしまい実行場所に無くても自動移動先+直接指定で重複カウントされてしまう。
フォルダ個別に存在を調べるコードはありますか?
>>405 生成するファイル名が分かっているのにwhereコマンド使う意味が分からない
ファイル検索ならFindFirst関数使えばいいだろうし
>>406 保護領域内でini作らなければいいのでは?
そもそもProgram Files [(x86)以下に設定用のファイルとかを保存するのが良くない
ユーザーフォルダやドキュメントフォルダを取得して明示的にそこに保存するべきだろう
>>407 ・質問1 実行ファイルがパス上に存在するか?の調べ方で
探すのは実行できる実行ファイルでWindowsでのパスが通っている所に存在するか?です。
プログラム組んでる自分には他のユーザーの使用環境は分かりません。
現時点で"FFmpeg""FFprobe"は64bitOS専用だからそれ以外はコマンド発行させてないので急いでません。
汎用性を求めるならということでFindFirst と FindNextということですよね?
[ delphi Windows パス取得 ]検索
ん〜 "where" 使う方が楽だなぁ(汗)
------
・質問2 iniファイルの存在と重複をWin10(D6)で調べる方法
>ユーザーフォルダやドキュメントフォルダを取得して明示的にそこに保存するべきだろう
あぁなるほど
最近のソフトがやけに「なんでこんな所に生えてんだ?」と思ってたらそういう回避方法なんですね。
実行場所が複数ある場合の同一iniへのアクセスを防ぐ一工夫がいりますが
そっちの方が楽そうですね。
------
[参照]
817_ディレクトリとファイルのリストとファイル検索
02_FindFirst と FindNext による方法 - Delphi 2009 以前用
http://
mrxray.on.coocan.jp/Delphi/plSamples/817_DirFileListTest.htm#02
>>408 質問1について
PATHが通っていることが前提なら、その環境変数を取得して、あとはそのディレクトリに対して存在するか確認するだけじゃないかな
CreateProcessもファイル名だけを指定した場合環境変数に従って探索する
https://learn.microsoft.com/ja-jp/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa LoadLIbraryなんかも同様の動作をするはずだし、たぶんwhereコマンドもほぼ同じだろうから、この探索順で同じようにFindFirstなり直接FileExistsで有無を確認すればいいのでは?
(ただしOSのバージョンによってこの順序が若干異なる)
ただ環境によるからって話なら、インストーラ使わずに(つまりパスを通さずに)使っている可能性もあるわけで
自分なら最初からファイル選択ダイアログ(またはフォルダ選択)使ってユーザに選択させるけど
質問2について
回避方法というよりWindowsはその方法を推奨している
プログラム(書き換え不可)とデータ(書き換え可)の分離
一周回ってDelphiもありかな?と思ったがいかんせん価格が高い
v12のAIによるSmart CodeInsight機能ってCommunity Editionでも使えるの?
ここのレビューを見たけど、凄い機能だな
https://qiita.com/igy/items/ae428d294cc7fdf5e387 Community Edition は12.1(これも本来は12.0だったのが特別に12.1)で記事では12.2で追加ってなってるからあと数年は先だね
そうなのか…
微妙なところで有料版との差が付けられるんだなあ
割とAndroidのPlayStore条件に合わせて
CEが更新されてる気もするが。。。そうでもないか
前回はSDKの手動更新と
AndroidManifest.xmlの編集を強いられたっけ
売れてないのに開発たいへんみたいだけど、会社だいじょうぶか?
12.3 のインストーラーが手に入るのであれば、12.2 のライセンスで 12.3 comunity edition をインストールできるのだ。
12.3 のインストーラーを手に入れる公式な手段はないため、普通の人は試せないが。
どういうこと?
普通の人以外のためのインストーラーなんてものがあるの?
コミュニティエデイションユーザーは 12.2 のインストーラーしかダウンロードできないのだ。
RAD Studio次期バージョン「13」の愛称が決定
先月実施されたRAD Studio次期バージョン「13」の愛称選定で、僅差ながら「Florence」が選ばれました。
Florenceは、日本名では「フィレンツェ」と呼ばれ、日本人にもなじみのイタリアの都市です。愛称には英語名が採用されるため、次期バージョンの正式名称は、「RAD Studio 13 Florence(フローレンス)」となります。
もう13出るの?
この前12になったのにさすがに早すぎないか?
信者からお布施を集めるために必要なんだよ
そして金を取って信者にバグ潰しさせるw
個人向けの商売ではなくて企業向けだろ。
信者なんか関係ない。
CEが12.2になってAI Smart CodeInsightが使えるように
なるのを待ち望んでいるのだが、いつになるのやら
老舗のCDリッピングツール「CD2WAV32」が約20年ぶりの更新 〜Windows 11専用で甦る
「Delphi 12.1」でUnicode対応、UI・設計のモダン化などを実施
https://forest.watch.impress.co.jp/docs/news/2019313.html 今それ貼ろうとしていたわ
Delphiやったんやね
64bitでも CD2WAV64 とはならないのか
もろぼし☆らむ氏
ハンドルは昔のママなんだな
FDELPHI でやりとりさせてもらったことがあるけどコードも書き込みかたも
なんというか濃ゆいひとであった
もろぼし☆らむって今ではシワシワすぎるハンドル名だなw
今もうる星好きなんだろうか?
>>441 っていうか、アニメのキャラ名そのままのハンドルネームは著作権的な観点から良くないよな。
10年ぶりくらいにここにきた・・・
流石にBCB5で書いたプログラムを移植しないといかん
なかなかな大手メーカー複数で未だに自分が書いたBCB5のツールをメイン業務で使ってるわ
定年までになんとかしておかんと不味いだろうなぁ
>>444 BCB民ならこちらへどうぞ
C++Builder相談室 Part21
http://2chb.net/r/tech/1353189677/ C++Builderとしては以前よりも良くなってはいるけど人がいないw
>>445 うっは、まだ当時のスレが残ってるw
頭が回る歳のうちに移植しなきゃいけないものは作り直しておこう・・・
Delphi 12.1 CE で右ドラッグ&ドロップのコンテキストメニュー(「ここにコピー」「ここに移動」「プロパティ」「WinRAR」などインストールされているアプリの固有メニューなどエクスプローラでの実行時と全く同じ物)をコードで再現したい。
という質問を ChatGPT 、copilot、Claude 3.7 Sonnet、 Gemin Grok 3、 Deepseek にしてみたんですけど
「はい、Delphi言語について日本語で質問できます!」と言いながら
procedure ShowDropContextMenu(AFiles: TStrings; ToFolder: string; X, Y: Integer; HND: HWND);
こんな感じで呼び出したいと進めていっても
どれもみな型違いと未定義の識別子からはじまり煮詰めていっても最後はパラメーター間違いや範囲チェックエラーで行き止まりな感じで
メニューが出た場合でも「ToFolder」(ドロップ先のフォルダ)が反映されておらず「ここにFireFileCopyで移動」などもない
そもそも procedure で済ますのがいけないのかと
「IShellFolder.GetUIObjectOf( IID_IDropTarget ) を取得して、自分で実装した IDropTarget の引数をそのまま転送すればいい」
というのを見たので
ドラッグ&ドロップには The-Drag-and-Drop-Component-Suite-for-Delphi の TDropFileTarget を使っているので
TDropFileTarget の DataObject を使ってゴニョゴニョしてみましたがお手上げでした
オープンソースのファイラーがある!とわざわざ Lazarus をインストールして「Double Commander」を開いてみたのですが右ドラッグは簡易実装しかしていませんでした
何か参考になるサイトかコンポーネントはありませんでしょうか?
AIに対する訊き方が悪いんじゃない?
Delphi 12.1 CE 版において、エクスプローラで任意のファイルを右クリックした時に
出てくるコンテキストメニューとまったく同じメニューを TPopupMenu で再現するには
Windows のどこの情報を読み PopupMenu のアイテムとして格納すれば良いですか?
と訊いたら詳しく教えてくれたよ (長くなるから回答は省略)
そこまでやったなら回答も教えてやれよって思う俺は器が小さいんかな?
右クリックメニューではなく、右ドロップ時のメニューについて聞かれてるので
>>449は質問文から間違ってるだろう
そもそもエクスプローラのコンテキストメニューの出し方はFAQレベルの頻出なので検索すればたくさん出てくる
30年前に欲しかった
X := if Left < 100 then 22 else 45;
if Left < 100 then X := 22 else X :=45; でいいじゃん
:=ですらうざい
全部BASICに戻せよ
Communityのライセンス切れたけど更新ないのか…
俺もライセンス切れたんで入れ直したが更新無かったから
>>403がいまだに解消されないorz
アプリに必要なコンポーネントのコンパイルやインストができないんで辛い
イベントビューアでチェックしたら.NET Frameworkのclr.dllの呼び出しでスタックオーバーフローしてるっぽいんだが…
こういうのどこに報告したらいいんだろう?
障害が発生しているアプリケーション名: bds.exe、バージョン: 29.0.51961.7529、タイム スタンプ: 0x65ffd3d4
障害が発生したモジュール名: clr.dll、 バージョン: 4.8.9310.0、タイム スタンプ: 0x67db4f7d
例外コード: 0xc00000fd
フォールト オフセット: 0x004597aa
フォールト プロセス ID: 0x6D80
アプリケーションのフォールトの開始時刻: 0x1DC0D86129A2D56
Faulting アプリケーション パス: C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\bds.exe
Faulting モジュール パス: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: fa0522c0-2145-4a44-9855-12f14ad76533
Faulting パッケージの完全名:
Faulting パッケージ相対アプリケーション ID:
・ごちゃついた環境変数pathを整理
・「Delphi 手動アンインストール」を実行
・マイドク、C:\Users\Public\Documents以下のRadStudio,Embarcaderoフォルダを削除(リネームして退避)
・再インストール
これ試して駄目ならOSごとクリーンインストールだな
>>457 それらは前に全部やったけど効果無かったよorz
クリーンインストは最終手段だけどなるべく避けたいんだ
再インストするアプリが多数なうえ課金アプリ複数あるから環境再構築がほんと面倒なのよ
ライセンスコードで台数管理されてるやつはサポートに連絡して一旦台数リセットしてもらわないとならんし
やるならWin11 25H2とかの大型アプデがリリースされたあとでかな
その前にDelphiか.NETのアプグレで回避できるようになるといいんだが・・・
Delphi13がリリースされたみたいだけど
CE版はないんだろうか
AndroidPlayでtargetSdkVersionがAPIレベル35以降じゃないってことで
アップデートできずに困ってるんだが
13もう出たのか
12出てからまだ1年そこらじゃないのか?
13入れたらリファクタリングがメインメニューでも
ポップアップメニューでも項目が無効な状態で使えない
既存のプロジェクトでも新規でも同じ
リファクタリングを有効にするために必要な事ってなんかあったっけ?
ObjectPASCALの時代は使ってた
20年以上前に同業者にDelphiを執拗に薦められたけど
ホイホイ付いて行かなくて本当に良かった
20年前のそんな事をわざわざこのスレに書き込む必要ある?
>>462 今もObject PASCALだけど、違うの?
13は窓の杜の記事の紹介画像でもリファクタリングのメニューが有効になってないな
有効な選択肢がないときはグレーアウトするのは13からの仕様らしいが
RAD Studioの新バージョン「13 Florence」をリリース
2025/9/17
RAD Studioの新バージョン「13 Florence」をリリース
「RAD Studio 13 Florence」の詳細は9月22日のデベロッパーTVで
アップデートサブスクリプションの期限切れに注意!
RAD Studio 13 Florence発売記念キャンペーンを実施
delphi12が2023年11月発売だから2年も経ってない
本当金儲けに走りすぎてるな
>>461 言語拡張に対応できてないから無効化されてるんじゃないの?
メジャーアップデートは不完全なまま出されるのは毎度毎度のこと
13.1の頃は対応されるのでは。
まともになるのは13.2の頃かな
>>464 とっくにDelphi Languageってことになってるだろ
そもそも「ObjectPascal」はobject型拡張のあるPascalのことでTurboPascalの他にMacでも別メーカーの実装があった
Delphi 1でclass型を追加してそっちをメインにした時点で別言語になってた
>>471 マニュアルや製品案内を見てみろ、今はもうObjectPascalの名前はない
Delphi7か8ぐらいで切り替わったはず
MacでObjectPascalを採用してた製品例としてCodeWarrier等
https://en.wikipedia.org/wiki/CodeWarrior さっさと謝れ
気になって追加で調べたら、十年ぐらい前にAppMethodというRAD Studioとは別な開発環境を売ってた時期があって
一時期ObjectPascalの名前が復活してたことがあったようだ。なのでちと言い過ぎたかもしれん
今はもうないけど
そもそもPascalを継承して新しくしたのがDelphiでしょ
Pascalがもうオワコン
新機能VCLのタイトルバー強化って需要あるの?
余計な機能追加してバグが増やさないで欲しいわ
TitleBarPanelって名前のただの新しいコンポだろ
バグが不安なら使わなければいいだけ
>>481 あんなのWindowsのお作法的にもどうかと思う
マイナー言語が余計に独り善がりしてるみたいな?
カスタムタイトルバー
WinUI3でも追加されたし
設定アプリやらメモ帳、フォトとかタイトルバー、カスタマイズしてるんじゃないか?
WinUI3のコントロールは新しいから直接使ってはいないと思うが
https://learn.microsoft.com/ja-jp/windows/apps/design/controls/title-bar Firefoxにブックマークやらタブやらを表示しまくってるな
ワイド、ウルトラワイドモニタが当たり前になったことで
タスクバーやタイトルバーの効率的利用を怠ると広大な無駄スペースが生まれてしまう
webブラウザとかはwin,mac,linuxでほぼ共通のUIなのでOS固有のAPIはあまり使わずに自前で全部表示してる気がします
DelphiのFMXなんかもそうですよね
マルチOS対応のだとOS独特のお作法とかは軽視される方向かも
というかDelphiをこれから使う奴なんているのか?
visualstudioが嫌いなんで
これかlazarusに興味がある
ブラウザの自動化が自在にやれるならやりたいね
株とか為替取引とかさ
自動化ツールは重いし
どの開発環境でもWebView2である程度の操作はできるんじゃね
便利なんだけどFMXのTWebBrowserで
いつのまにかイベントがURLの「?」以下の部分の変化に反応しなくなった
しかたなくFMXアプリでVCLのTEdgeBrowserを使ってる
(地図サイトで?以下の経緯度の数値を取得したかったんで)
lud20250925104711このスレへの固定リンク: http://5chb.net/r/tech/1700737330/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像
↓この板の人気?スレ↓(一覧)
・アンチコンピュータウィルスソフトってどれがいい?
・掲示板作ったんだけどアドバイスください
・.NET MAUIが不人気な原因なんなの?
・【統計分析】機械学習・データマイニング9
・初めてココ来たけどpython人気なさ過ぎるだろ。
・「PATHを通す」というテーマで記事を書きましょう
・Pythonは大規模システム開発に適さないと嘘つく会社
・ふらっと C#,C♯,C#(初心者用) Part159
・10GBのCSVファイルのソートが遅いのはなぜですか?
・こんなプログラミング言語は嫌だ!
・【初スレ】processingで書いてほしいプログラム
・大学院の研究を使ってサイトを作ったんごwwww
・Win32API質問箱 Build24
・デーモンとサーバソフトって別物ですか?
・Visual Studio Code / VSCode Part7
・.NET CORE No.2
・Java入門・初心者質問スレ Part.10
・YAMLでif文とfor文を使えるように拡張したで(ドヤァ
・■WindowsCEプログラミング(EVC PB3含む)Ver2.2■
・【クソ本・悪本】粗悪書追放スレ【絶対買うな】
・DIYソフトウェア
・Kotlin 3
・アルゴリズム考えるのムズすぎワロタwwww
・C/C++の良問題鑑賞スレ
・小学生だけど文句ある? プロキシアプリ作るおwww
・Kotlin初心者質問スレ
・ねねっちと一緒にプログラムを勉強するスレ第3話
・Dart これ以上変な言語を増やすんじゃねえ! Kotlin
・【Python】スクリプト バトルロワイヤル48【pl,rb,php,js】
22:34:43 up 12:56, 1 user, load average: 138.16, 125.47, 110.15
in 0.2658109664917 sec
@[email protected] on 102311
|