Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi ActiveX Non-Visual Component Events (https://www.delphipraxis.net/188210-activex-non-visual-component-events.html)

SyntaxXx 10. Feb 2016 00:11

ActiveX Non-Visual Component Events
 
Hallo zusammen,
ich habe ein Problem.

Ich möchte den Windows Media Player in meine Anwendung einbauen, um eine .mp3 abzuspielen.
Daher möchte ich nicht die fertige Komponente nehmen, sondern das ganze Codetechnisch bewerkstelligen.
Jetzt habe ich nur das Problem, das ich nicht weiß, wie ich auf Events reagieren kann.

Nehmen wir dieses Beispiel:
https://msdn.microsoft.com/en-us/library/ms909949.aspx

Das Event OpenStateChange.
Dieses Event gibt mir zwei Parameter.
1. lOldState
Long value specifying the previous value of the OpenState property.

2. lNewState
Long value indicating the new value of the OpenState property. This event occurs only if the value of the SendOpenStateChangeEvents property is true.


Da ich jetzt aber keine Komponente habe, kann ich nicht einfach per Doppenklick auf das Event den nötigen Code erzeugen.
Zudem weiß ich gerade nicht, wie ich meine Methode an die Variable binde.


Über die Komponente sieht das so aus:
Delphi-Quellcode:
procedure TForm1.WindowsMediaPlayer1OpenStateChange(ASender: TObject;
  NewState: Integer);
begin
  if NewState = 13 then
  begin
    TrackBar1.Min := 0;
    TrackBar1.Max := round(WindowsMediaPlayer1.currentMedia.duration);
  end;
end;
Doch wie bekomme ich das jetzt ohne Komponente hin?
Ich nehme an, ich muss die Methode jetzt selbst schreiben.
Doch diese muss ich doch auch dem Objekt bekannt geben.

So in etwa:
Delphi-Quellcode:
meinPlayer.DasEvent:= MeineEventMethode
Doch dann muss ich die Parameter ja angeben, die ich aber ja vom Player selbst haben will.
Ich bin gerade komplett verwirrt.


Kurz gefragt, was muss ich tun, damit ich an den Parameter "NewState" komme?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz