Hallo liebe Community,
ich habe ein sehr einfaches Testprogamm geschrieben, welches als einzige Aufgabe einen Sound abspielen soll, wenn ein Button gedrückt wird.
Bei jedem Drücken des Buttons wird der Arbeitsspeicher merklich aufgezehrt (sagt mir der Taskmanager).
Hier der gesamte Code zum Nachvollziehen:
Delphi-Quellcode:
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.Media;
type
TForm1 =
class(TForm)
MediaPlayer1: TMediaPlayer;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.FormCreate(Sender: TObject);
begin
ReportMemoryLeaksOnShutdown:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.FileName:=ExtractFilePath(ParamStr(0))+'
SXPLODE1.WAV';
MediaPlayer1.Volume:=0.6;
MediaPlayer1.Play;
end;
end.
Auch der Versuch bei jedem Drücken des Buttons den Mediaplayer zur Laufzeit zu erzeugen und dann wieder freizugeben, ändert nichts.
Die Firemonkey-Anwendung wurde mit Delphi 10 Seattle erstellt.
Was läuft hier schief?
ZYL