Thema: Delphi Events rund ums Popup

Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Events rund ums Popup

  Alt 19. Okt 2019, 14:56
Delphi-Version: 10.2 Tokyo
Hi zusammen

In einer Liste halte ich gewisse Maus-Ereignisse beim Aufruf eines Popups fest:
Delphi-Quellcode:
procedure TMainPage.WriteReportFile2;
  var S, DateTimeStr, DS: string;
      ReportStream: TFileStream;
begin
 DS := DateTimeToStr(Now);
 DateTimeStr := StringReplace(DS, ':', '-', [rfReplaceAll]);
  S := ExtractFilePath(Application.ExeName) + '\' + 'CodeReport ' +DateTimeStr+'.txt';
  Reportstream := TFileStream.Create(S, fmCreate);
  try
    FReportList.Add(DateTimeToStr(Now));
    FReportlist.Add('----------------');
    FReportList.AddStrings(Self.FileSearchContainerFrame1.OpenFileFrame1.ReportList);
    FReportlist.SaveToStream(ReportStream);
  finally
    Reportstream.Free;
  end;
end;
Und das ist dann, was dabei ohne debuggen herauskommt:
Delphi-Quellcode:
19.10.2019 11:48:59
----------------
--OpenFileFrame.ReportList--
--Start : --
----------------
prozedur TVFilesExplorerMouseUp
P:\ [Elements]
----------------
prozedur TVFilesExplorerMouseDown
Button =(mbRight)-Block
----------------
prozedur TOpenFileFrame.Wurzelverzeichnis1Click
P:\ [Elements]
----------------
prozedur TVFilesExplorerMouseDown
Allgemein-Block
FSelectedNode.Text := P:\ [Elements]
Also in der Reihenfolge:
MouseUp MouseDown Wurzelverzeichnis1Click MouseDown

Mit Debugggen ist die Reihenfolge:
MouseUp Wurzelverzeichnis1Click MouseDown MouseDown

Meinem bisherigen Verständnis nach müsste die Reihenflge sein:
MouseDown - Wurzelverzeichnis1Click - MouseUp


Ich habe auch schon etwas im EmbaWicki gestöbert umd dabei etwas gefunden, dass nicht zu stimmen scheint.
Ich hatte Selected verwendet, um den gewählten Knoten zu identifizieren -- trotzdem lieferte mir Selected den Wert des obersten(zur Startzeit gewählten) Knotens C:\ zurück.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat