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+574デフォルトの名無しさん
2018/07/11(水) 17:39:18.30ID:nuZ0aS+z ドラクエにいそうだな
炎猿
炎猿
575デフォルトの名無しさん
2018/07/11(水) 21:49:54.77ID:r5yaKwaw まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。
576デフォルトの名無しさん
2018/07/11(水) 22:54:26.92ID:ybpsmMVD そうとも言い切れんから困る
577デフォルトの名無しさん
2018/07/13(金) 07:31:46.74ID:cjGt1E8J OpenGLが枯れてるからあまり心配なさそう
578デフォルトの名無しさん
2018/07/13(金) 07:36:27.90ID:qQhJFZKh AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな
579デフォルトの名無しさん
2018/07/13(金) 19:21:29.08ID:I/E3+gDF OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。
580510
2018/07/15(日) 07:23:54.92ID:DmBJj22K 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
581510
2018/07/15(日) 07:24:30.45ID:DmBJj22K 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
582デフォルトの名無しさん
2018/07/17(火) 12:02:31.20ID:XXadd0Qe D6です。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?
昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。
年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと
.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。
一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?
昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。
年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと
.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。
一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。
583デフォルトの名無しさん
2018/07/17(火) 14:50:49.28ID:+kxKOOfA https://msdn.microsoft.com/ja-jp/library/67wc07b9.aspx
http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=257
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_61/rzaik/rzaikapigrphdrfile.htm
https://forum.dlang.org/post/mailman.637.1295116422.4748.digitalmars-d-learn@puremagic.com
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=257
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_61/rzaik/rzaikapigrphdrfile.htm
https://forum.dlang.org/post/mailman.637.1295116422.4748.digitalmars-d-learn@puremagic.com
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
584デフォルトの名無しさん
2018/07/19(木) 07:25:14.70ID:tvMjHs4f Introducing Delphi and C++Builder Community Edition
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?
585デフォルトの名無しさん
2018/07/19(木) 07:36:15.48ID:KPlplAON >>584
ログインしてからダウンロードすると良いかもしれない
ログインしてからダウンロードすると良いかもしれない
586デフォルトの名無しさん
2018/07/19(木) 07:44:26.16ID:tvMjHs4f587デフォルトの名無しさん
2018/07/23(月) 12:35:10.41ID:TMDKKbFQ firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
588582
2018/07/23(月) 19:47:13.97ID:ZNsXOfsj Dependency Walker
ttps://www.off-soft.net/ja/software/develop2/depens.html
と
Visual Studio 付属 dumpbin
というのでも関数名だけしかワカンネ
ILSpy_Master_2.3.0.1827_Binaries 起動できない。
Visual Studio 付属 Ildasm もダメっぽい。
暑くてなーんも進まない
ttps://www.off-soft.net/ja/software/develop2/depens.html
と
Visual Studio 付属 dumpbin
というのでも関数名だけしかワカンネ
ILSpy_Master_2.3.0.1827_Binaries 起動できない。
Visual Studio 付属 Ildasm もダメっぽい。
暑くてなーんも進まない
589デフォルトの名無しさん
2018/08/04(土) 01:10:32.25ID:9xoPwG77 DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで
590デフォルトの名無しさん
2018/08/04(土) 10:03:56.88ID:pEPpCry/ 質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
591デフォルトの名無しさん
2018/08/05(日) 07:09:51.51ID:lCE2SUhO めんどくさっ
592デフォルトの名無しさん
2018/08/05(日) 07:22:17.73ID:lCE2SUhO 今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
593デフォルトの名無しさん
2018/08/05(日) 07:39:19.78ID:33CDKMsR Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
2018/08/05(日) 12:50:09.31ID:gWGunr7x
>592-583
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。
595427です
2018/08/05(日) 22:33:28.02ID:gWGunr7x >>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。
浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
2. 浮動小数点型の値のメモリ上での並び
ttps://qiita.com/nia_tn1012/items/340a1f0ad71bf6085f7f
元の値 : 1.024000
内部表現の値 : 3F83126F
↑
この例では、IEEE754-Single でした。
>>593
IEEE754 単精度浮動小数点数(float)の文字列とかいろいろ入れても
ただの整数になるようですが?
var
f: Single;
begin
Edit_Single.Clear;
if (Edit_IEEE754_HexSingle.Text <> '') and (StrToIntdef('$' + Edit_IEEE754_HexSingle.Text,-1) <> -1) then
f := StrToInt( '$'+ Edit_IEEE754_HexSingle.Text );
Edit_Single.Text := FloatToStr(f);
end else Edit_Single.Text := '入力エラー';
end;
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。
浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
2. 浮動小数点型の値のメモリ上での並び
ttps://qiita.com/nia_tn1012/items/340a1f0ad71bf6085f7f
元の値 : 1.024000
内部表現の値 : 3F83126F
↑
この例では、IEEE754-Single でした。
>>593
IEEE754 単精度浮動小数点数(float)の文字列とかいろいろ入れても
ただの整数になるようですが?
var
f: Single;
begin
Edit_Single.Clear;
if (Edit_IEEE754_HexSingle.Text <> '') and (StrToIntdef('$' + Edit_IEEE754_HexSingle.Text,-1) <> -1) then
f := StrToInt( '$'+ Edit_IEEE754_HexSingle.Text );
Edit_Single.Text := FloatToStr(f);
end else Edit_Single.Text := '入力エラー';
end;
597デフォルトの名無しさん
2018/08/27(月) 09:41:49.47ID:UfmEJPeB Delphiの逆コンパイラでおすすめって何になるの?
598デフォルトの名無しさん
2018/08/27(月) 21:32:59.26ID:1pvUgZqM 超初心者スレだから許して のしつもんです。
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。
Pathの 記述とか??
今でも TIniFile とか使いますか?
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。
Pathの 記述とか??
今でも TIniFile とか使いますか?
599デフォルトの名無しさん
2018/08/27(月) 22:05:18.90ID:UfmEJPeB >>598
exeと同じフォルダ
exeと同じフォルダ
600デフォルトの名無しさん
2018/08/27(月) 22:24:54.69ID:lZIE2FNf >>598
%appdata%にアプリケーションのフォルダ作って保存
%appdata%にアプリケーションのフォルダ作って保存
601デフォルトの名無しさん
2018/08/27(月) 23:33:36.63ID:1pvUgZqM 回答有り難うございます。
とっても参考になりました。
ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\
って感じで 良いみたいですね。
とっても参考になりました。
ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\
って感じで 良いみたいですね。
602デフォルトの名無しさん
2018/08/28(火) 12:13:22.36ID:e0zrlbVu 確かプラットフォームごとのパスを取得する関数が用意されてたような
603デフォルトの名無しさん
2018/08/28(火) 16:21:16.43ID:6kEMX7h9 iniファイル便利か
604デフォルトの名無しさん
2018/08/28(火) 18:16:29.63ID:3sF2+X9S >>603
PCが壊れたとき等、環境移行はローテクの方が・・
PCが壊れたとき等、環境移行はローテクの方が・・
605デフォルトの名無しさん
2018/08/28(火) 19:10:27.83ID:pa8Xm38g レジストリなんか使わない。
XMLなんか使わない。
やっぱりINIがいい。
XMLなんか使わない。
やっぱりINIがいい。
606デフォルトの名無しさん
2018/08/28(火) 20:53:25.15ID:yUJd0FCJ 「プロジェクトから削除」で削除したunit2,unit3って結局生きてる?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
607デフォルトの名無しさん
2018/08/28(火) 21:09:44.56ID:dFKNKLFU そもそも
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
608デフォルトの名無しさん
2018/08/28(火) 21:21:58.23ID:mAx5yIVS >>606
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
610デフォルトの名無しさん
2018/08/29(水) 07:06:43.69ID:0P3/EBfJ (アン)インストーラが付属しないツールで
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
611デフォルトの名無しさん
2018/08/29(水) 19:36:02.35ID:2f70+wG1612デフォルトの名無しさん
2018/08/29(水) 20:50:27.29ID:CUO+ntMd インストールフォルダ自体がドキュメントフォルダ強制とかもあるな
613デフォルトの名無しさん
2018/08/30(木) 10:16:05.96ID:S/vwwZyF614611
2018/08/30(木) 16:00:49.78ID:xpekrfIC >>613 >>598
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。
procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。
procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;
615デフォルトの名無しさん
2018/08/30(木) 16:39:09.31ID:h4Uebctf WriteInteger使えよww
616デフォルトの名無しさん
2018/08/30(木) 17:54:05.37ID:xpekrfIC レジストリを汚しまくるのは好かん!
617デフォルトの名無しさん
2018/08/30(木) 18:00:59.87ID:RB/Vojpj >>616
ほんそれ
ほんそれ
618デフォルトの名無しさん
2018/09/04(火) 04:53:47.13ID:cIgTW3mD スレッドオブジェクトで外部機器と通信するコンポーネント(自分で取り込んだactivexです)を使いたいのですが、
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
619デフォルトの名無しさん
2018/09/04(火) 07:40:32.69ID:Iud04UXg 引数はnilでok
必要ならparentを指定する
必要ならparentを指定する
620デフォルトの名無しさん
2018/09/04(火) 20:59:53.37ID:cIgTW3mD >>619
有難うございました。
有難うございました。
621デフォルトの名無しさん
2018/09/06(木) 20:32:48.73ID:b7skbySG 十数年ぶりにコード書いてます。
Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。
ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。
uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?
挫けそうですw
Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。
ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。
uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?
挫けそうですw
622デフォルトの名無しさん
2018/09/06(木) 20:59:54.36ID:Y0pbPBaL 単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
623デフォルトの名無しさん
2018/09/06(木) 21:14:09.34ID:b7skbySG 速攻でスゲー! 解決しました!
HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。
それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。
それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
624618
2018/09/07(金) 13:31:35.10ID:nbZaHp3Y 618です。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
625デフォルトの名無しさん
2018/09/08(土) 10:16:41.02ID:7h/1w/8o C#にしたら
626デフォルトの名無しさん
2018/09/08(土) 12:26:23.76ID:3pZBr9hd そのまんまでしょうに。アパートメントをまたぐ場合はマーシャリングしなきゃいけない。
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。
コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。
https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。
コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。
https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある
627デフォルトの名無しさん
2018/09/08(土) 18:32:14.22ID:ifS5zDmq >>597
未だに見つけられていない
DeDe 3.50.02 Build 1619 for Windows
ttp://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml
Delphi製のバイナリを解析する方法
ttp://peryaudo.hatenablog.com/entry/20110105/1294209734
>DeDeのprojectタブを使うと、
>ディスアセンブルされたx86のコードをコメントでくくっただけのpasとデコンパイルされたdfmをファイルに落とせる。
x86コードを直接見てもワケワカメ
未だに見つけられていない
DeDe 3.50.02 Build 1619 for Windows
ttp://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml
Delphi製のバイナリを解析する方法
ttp://peryaudo.hatenablog.com/entry/20110105/1294209734
>DeDeのprojectタブを使うと、
>ディスアセンブルされたx86のコードをコメントでくくっただけのpasとデコンパイルされたdfmをファイルに落とせる。
x86コードを直接見てもワケワカメ
628デフォルトの名無しさん
2018/09/13(木) 10:48:16.02ID:TILqF4on FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。
マウスの座標は取得できています。
よろしくお願いします。
629デフォルトの名無しさん
2018/09/13(木) 15:53:14.96ID:D2+vOfIF CellByPoint
630628
2018/09/14(金) 00:13:42.04ID:h30gDWV5 ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
631デフォルトの名無しさん
2018/09/14(金) 07:11:59.92ID:N3zUYsZd onMouseMoveでテストしてみて
632デフォルトの名無しさん
2018/09/14(金) 08:18:00.14ID:sVVlCHCP ローカル座標に変換する必要あんでね?
633デフォルトの名無しさん
2018/09/14(金) 12:20:56.93ID:rsfS0hy3 >>630
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
634デフォルトの名無しさん
2018/09/14(金) 19:36:31.47ID:KQxf0S5x てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない
スクリーン座標が出てくる訳が分からない
635628
2018/09/14(金) 20:55:44.40ID:QxWxbdYR 皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
636デフォルトの名無しさん
2018/09/14(金) 21:57:04.38ID:KQxf0S5x こんなんじゃだめなの?
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;
カーソル下のセルを正確に取得できてるよ
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;
カーソル下のセルを正確に取得できてるよ
637デフォルトの名無しさん
2018/09/14(金) 23:50:03.06ID:QxWxbdYR638デフォルトの名無しさん
2018/09/15(土) 00:17:48.45ID:8rxpHkWL なんで未だにデルファイなんかやっとるんやおまいら?
639デフォルトの名無しさん
2018/09/15(土) 06:26:34.02ID:mxfFGWip いろいろな言語使えるけどDelphiがベストだと思うから
640デフォルトの名無しさん
2018/09/15(土) 06:42:36.21ID:3TWFaDlw >>638
てかそんな話はエンバカスレでどうぞ
てかそんな話はエンバカスレでどうぞ
641デフォルトの名無しさん
2018/09/15(土) 11:07:16.52ID:AVfR6YnT Delphiは討たれる
642デフォルトの名無しさん
2018/09/15(土) 17:32:12.84ID:AkXmtK9p643デフォルトの名無しさん
2018/09/16(日) 10:48:44.14ID:e3KaLVno SKRegExpの作者はどこに行ったの?
644デフォルトの名無しさん
2018/09/26(水) 11:44:44.46ID:Ov2EA3Ui 今頃デルファイの10.2.3をインストールしようと思うんですが、サイトに書いてあるように一旦10.2をアンインストールしないとまずいですか?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
645デフォルトの名無しさん
2018/09/26(水) 13:25:05.76ID:WoZunzir646デフォルトの名無しさん
2018/09/26(水) 15:05:08.27ID:Ov2EA3Ui なんか共存できんかった
647デフォルトの名無しさん
2018/09/26(水) 17:59:31.37ID:7bJbQB0s 同居出来ないってCPB CEでも入ってるのか?
648デフォルトの名無しさん
2018/09/26(水) 19:21:31.24ID:ANIjlW8h BerlinとTokyoは共存できるけどToky同士は共存できなかったはず
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね
Webインストールの場合はそれができないんだったっけ
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね
Webインストールの場合はそれができないんだったっけ
649デフォルトの名無しさん
2018/09/26(水) 19:58:22.59ID:V9O91uO9 サードパーティのコントロールが消えるのが嫌でアンインストールせずやってしまった。orz
650デフォルトの名無しさん
2018/09/28(金) 08:42:20.23ID:CK9JalNS ツールパレットにはコンポーネントのアイコンがきちんと表示されているんだけど、フォームに配置するとアイコンが見えない位小さくなってしまうんだけどなんで?
651デフォルトの名無しさん
2018/09/28(金) 18:27:10.70ID:L/CPkr5D652デフォルトの名無しさん
2018/09/28(金) 20:17:23.17ID:CK9JalNS そうか、ご苦労
653デフォルトの名無しさん
2018/09/29(土) 04:51:42.90ID:61Ke5MR1 フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
654デフォルトの名無しさん
2018/09/29(土) 06:17:50.02ID:SaDPGrJG >>650
4Kモニターを使っているのかい?
4Kモニターを使っているのかい?
655デフォルトの名無しさん
2018/09/29(土) 20:55:31.30ID:nJOGxOxE そして
ふてくされて二度と来ないコミュ障であった
ふてくされて二度と来ないコミュ障であった
656デフォルトの名無しさん
2018/09/30(日) 05:42:12.80ID:OYYkxayT かわいそう・・・
657デフォルトの名無しさん
2018/09/30(日) 16:24:03.95ID:sVuwBfqE 意外とみんな覗いてんな
658デフォルトの名無しさん
2018/10/03(水) 20:49:10.84ID:T89/Qa9b モニタにもっと顔を近づけるんだよ きっと見れるよ
659デフォルトの名無しさん
2018/10/04(木) 10:29:39.99ID:FXVBuQxV モニタよモニタよモニタさん
660デフォルトの名無しさん
2018/10/06(土) 09:18:43.15ID:ruQOvniH マルチデバイスのソフトを初めて作ろうと思っています。
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
661デフォルトの名無しさん
2018/10/06(土) 12:13:05.71ID:Z2kGgnGa まずalignの使い方かな
662デフォルトの名無しさん
2018/10/06(土) 15:33:22.97ID:dM0Hntxh >>660
FireUI
FireUI
663660
2018/10/07(日) 08:57:42.83ID:XyZZDpel 有難うございます。
調べて勉強します。
調べて勉強します。
664デフォルトの名無しさん
2018/10/13(土) 18:12:13.98ID:3G3/hyQa 何かウェルカムページを開きたびに
セキュリティ警告が出るんだが
セキュリティ警告が出るんだが
665デフォルトの名無しさん
2018/10/13(土) 22:28:09.39ID:19TuI9Cj >>664
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
666デフォルトの名無しさん
2018/10/13(土) 23:05:26.94ID:ApCV8gEF667デフォルトの名無しさん
2018/10/17(水) 17:24:01.23ID:GbCGuExa ブラウザのタイトルを取得したいんですけど、
WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません
WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません
ってなるんです。
usesに何か足りませんか?
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;
Delphi 10.2 Community Edition
WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません
WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません
ってなるんです。
usesに何か足りませんか?
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;
Delphi 10.2 Community Edition
668デフォルトの名無しさん
2018/10/17(水) 17:49:10.11ID:GbCGuExa 解決しました。
VLCじゃやないやつで作ろうとしてたみたいです!
VLCじゃやないやつで作ろうとしてたみたいです!
669デフォルトの名無しさん
2018/11/06(火) 12:05:36.75ID:FnkVAeUe FMXでLabelのバックカラーの変更って出来ない?
今はPanelの色を変えて、その上に貼り付けてるんだけど。
今はPanelの色を変えて、その上に貼り付けてるんだけど。
670デフォルトの名無しさん
2018/11/06(火) 15:03:32.51ID:lO/IgrxW671デフォルトの名無しさん
2018/11/06(火) 16:08:30.30ID:xJl/nUxi672デフォルトの名無しさん
2018/11/06(火) 18:54:34.08ID:O/iOsvOA673デフォルトの名無しさん
2018/11/06(火) 19:14:26.53ID:lO/IgrxW >>671
ホントだ
TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
ホントだ
TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 【画像】なんか模型屋さんにいかにもお前らが好んでそうなアキバ系のアニメ?のキャラいたけどこれなに?
- VIPでアズールレーン
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- フィフィ「外国人だろうが日本人だろうが反日は要らんのよ、この国に…自分にとって住みやすい国に行け。」 [856698234]
- 【悲報】有名配信者さん、公式大会で小学生の前で奇行して炎上して逆ギレwwwwwwwwwwwwwwwwww [856698234]
- 猟友会ハンター「警察や自衛隊の力を借りてのクマ駆除は大歓迎。肉の加工など 駆除の後についてもしっかりと話を進めてほしい」 [932029429]
