Delphi 10 Berlinでのdrag&drop

解決


Jasmine  2017-01-28 23:20:16  No: 48490  IP: 192.*.*.*

DelphiX3 + FireMonkey で書いた Drag&drop に関するコードが Delphi10では動きません。

下記は,TrectangleからTCircleにFill.Colorをドラッグしようとして書いたコードで,X3では動作していましたが,Delphi10では,onDragOverの引数自体が違うようで,Accept変数もありません。
リファレンスを検索しても手がかりはつかめませんでした。

==============================================================
procedure TForm1.Circle0DragOver(Sender: TObject; const Data: TDragObject;
  const Point: TPointF; var Accept: Boolean);
begin
  Accept := true;
end;

procedure TForm1.Circle0DragDrop(Sender: TObject; const Data: TDragObject;
  const Point: TPointF);
begin
  Tshape(sender).Fill.Color := Tshape(data.Source).Fill.Color;
end;
==============================================================

編集 削除
au  2017-01-30 10:36:21  No: 48491  IP: 192.*.*.*

ヘルプを見る限りだとOperationにnone以外を指定したら受け入れって事になるんじゃないですかね

編集 削除
通りすがり  2017-01-30 14:21:36  No: 48492  IP: 192.*.*.*

auさんの回答の通りですね。ソースを確認してみましたが、OnDragOverイベントでOperationに指定したものは
単に表示上の区別にのみ使われ、動作上はNoneかそれ以外、というかたちになっています。

編集 削除
Jasmine  2017-01-30 23:49:41  No: 48493  IP: 192.*.*.*

Operationの値は,表示だけに影響するものと思い込んでいました。
ありがとうございました。

編集 削除