くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net

1デフォルトの名無しさん2016/10/13(木) 13:21:54.84ID:7i5E+q2+
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/?

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にして、そこに配置した方が良いでしょうか?

619デフォルトの名無しさん2018/09/04(火) 07:40:32.69ID:Iud04UXg
引数はnilでok
必要なら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

622デフォルトの名無しさん2018/09/06(木) 20:59:54.36ID:Y0pbPBaL
単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。

623デフォルトの名無しさん2018/09/06(木) 21:14:09.34ID:b7skbySG
速攻でスゲー! 解決しました!

HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。

それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・

6246182018/09/07(金) 13:31:35.10ID:nbZaHp3Y
618です。
マルチスレッドで自分で取り込んだ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
読めば書いてある

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コードを直接見てもワケワカメ

628デフォルトの名無しさん2018/09/13(木) 10:48:16.02ID:TILqF4on
FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。

629デフォルトの名無しさん2018/09/13(木) 15:53:14.96ID:D2+vOfIF
CellByPoint

6306282018/09/14(金) 00:13:42.04ID:h30gDWV5
ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は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のことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな

634デフォルトの名無しさん2018/09/14(金) 19:36:31.47ID:KQxf0S5x
てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない

6356282018/09/14(金) 20:55:44.40ID:QxWxbdYR
皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標は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;

カーソル下のセルを正確に取得できてるよ

637デフォルトの名無しさん2018/09/14(金) 23:50:03.06ID:QxWxbdYR
>>636
ありがとうございます。
やりたいことができました。
>>631
ヒントもらっていたのに申し訳ありません。

あくまでもコントロール上の座標を取らないといけないということですね。
ScreenToClientはアプリのウィンド上の座標と言うことで良いでしょうか?

638デフォルトの名無しさん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:AkXmtK9p

643デフォルトの名無しさん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をインストールしたら復活するとかは無いですかね?

645デフォルトの名無しさん2018/09/26(水) 13:25:05.76ID:WoZunzir
>>644
別のプログラムとしてインストールされるからTokyo用のコンポーネントは再インストール必須
別に10.2を残してても共存はできる

646デフォルトの名無しさん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インストールの場合はそれができないんだったっけ

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/CPkr5D
>>650
老眼かい?
他人にはあんたの見て思ってる物が大きいか小さいかなんてエスパーでもないから分らない。
画面キャプチャーでもして画像貼れ

652デフォルトの名無しさん2018/09/28(金) 20:17:23.17ID:CK9JalNS
そうか、ご苦労

653デフォルトの名無しさん2018/09/29(土) 04:51:42.90ID:61Ke5MR1
フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは

654デフォルトの名無しさん2018/09/29(土) 06:17:50.02ID:SaDPGrJG
>>650
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用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?

661デフォルトの名無しさん2018/10/06(土) 12:13:05.71ID:Z2kGgnGa
まずalignの使い方かな

662デフォルトの名無しさん2018/10/06(土) 15:33:22.97ID:dM0Hntxh
>>660
FireUI

6636602018/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さんが

666デフォルトの名無しさん2018/10/13(土) 23:05:26.94ID:ApCV8gEF
>>665
なるほど

今日はvclとfmxアプリ間のメッセージングのテストやってて
切り替えるたんびにダイアログが何度も出てイヤんなる

新着レスの表示
レスを投稿する