Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi AVI aus einer DLL (https://www.delphipraxis.net/12781-avi-aus-einer-dll.html)

scp 4. Dez 2003 13:04

Re: AVI aus einer DLL
 
Bei dem Beispiel ist überall "Name" zu finden. Dies ist ein String, der den Namen der Resource enthält, also für Hund.avi wäre das nach deiner Liste dann 'HUNDDLAE'.

scp 4. Dez 2003 13:09

Re: AVI aus einer DLL
 
Achso... ACM_OPEN & ACM_PLAY sind Variablen für Windows Messages, die in der Unit CommCtrl (nicht zu verwechseln mit ComCtrls!) definiert sind, die musste dann noch in die uses setzen.

xavior 4. Dez 2003 13:14

Re: AVI aus einer DLL
 
OK, das hab ich jetzt kapiert und hab es auch verändert, aber die AVI wird trozdem noch nicht abgespielt!

Delphi-Quellcode:

 procedure TSplash.Start(Sender: TObject);
var crMyCursor: TCursor;
    FModuleHandle: Hinst;
    ResStre: TResourceStream;
    ACM_OPEN, ACM_PLAY: Cardinal;
begin
 StartZeit   := Now;
 Zeit.Enabled := True;
 Screen.Cursors[crMyCursor] := LoadCursorFromFile('ANI\Wart.ani');
 Fortschritt.Cursor := crMyCursor;
 Splash.Cursor := crMyCursor;
 Hund.Cursor  := crMyCursor;
 FModuleHandle := LoadLibraryEx(PChar('MData32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE);
 Hund.CommonAVI := aviNone;
 If (StrToIntDef('HUNDDLAE', 0) <> 0) then
  SendMessage(Hund.Handle, ACM_OPEN, FModuleHandle, StrToIntDef('HUNDDLAE', 0))
 else
  SendMessage(Hund.Handle, ACM_OPEN, FModuleHandle, Integer(@'HUNDDLAE'[1]));
  SendMessage(Hund.Handle, ACM_PLAY, -1, MAKELONG(0, Word(-1)));
  {Hund.Active := True;} <--------------------- Wenn ich das aktiviere, dann gibt es Fehler
end;

scp 4. Dez 2003 13:19

Re: AVI aus einer DLL
 
Oh, ich seh grad:
Code:
ERDEDSDR AVIRES "Erde.avi"
sollte so aussehen

Code:
ERDEDSDR AVI "Erde.avi"
also überall wo AVIRES steht muss eigentlich AVI stehen.

Delphi-Quellcode:
Hund.Active := True
Du darfst bei der zweiten Methode keine Eigentschaften der Kompo verwenden, es geht alles nur über SendMessage().

xavior 4. Dez 2003 13:30

Re: AVI aus einer DLL
 
:hello: :hello: :hello: :dancer: :dancer: :dancer: :cheers: :thuimb: :thuimb: :thuimb:

Endlich ich habs geschaft! Bei mir fällte oben der Eintrag
Delphi-Quellcode:
uses CommCtrl;
deswegen ging das nicht!

DANKE DANKE DANKE

xavior 4. Dez 2003 18:38

Ups
 
Ausversehen erstellt !

scp 5. Dez 2003 12:25

Re: AVI aus einer DLL
 
Habe noch ne simplere Möglichkeit gefunden:

Delphi-Quellcode:
  Hund : TAnimate;

//...

  try
    Hund.ResName := 'HUNDDLAE';
  except
  end;
  Hund.ResHandle := FModuleHandle;
Der Fehler wird abgefangen und nachdem auch das ResHandle gesetzt wurde, wird die AVI geladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.
Seite 2 von 2     12   

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