Einzelnen Beitrag anzeigen

Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#1

Video über Andorra 2D TAdVideoPlayer

  Alt 5. Dez 2009, 19:44
Ich habe grade angefangen, ein bisschen mit Andorra 2D zu programmieren, und schon gibts die ersten Probleme.
Ich habe in einer Unit eine Form, auf der nur ein TAdDraw liegt. Das initialisiere ich folgendermaßen:

Delphi-Quellcode:
  AdDraw:=TAdDraw.Create(self);
  AdDraw.DllName:='AndorraDX93D.dll';
  with AdDraw.Display do begin
    Width:=1280;
    Height:=1024;
    BitDepth:=ad32Bit;
    DisplayMode:=dmFullscreen;
  end;
  
  video_init;

  If AdDraw.Initialize Then begin
    drawframes.Enabled:=true;
  end else begin
    ShowMessage(AdDraw.GetLastError);
    halt;
  end;
Danach wird eine Funktion in einer anderen Unit aufgerufen, die dadrauf ein Video zeichnen (oder erstmal erstellen) soll:

Delphi-Quellcode:
function video_register(relpath:string;StopFunction:TStopFunction):integer;
var
  count:integer;
  pm:TMethodPointer;
begin
  pm.pMethod := @StopFunction;
  pm.pObject := nil;
  count:=Length(video_instances);
  SetLength(video_instances,count+1);
  with video_instances[count] do begin
    started:=false;
    AdPlayer:=TAdVideoPlayer.Create(FMain.AdDraw); //Hier kommt schon der Fehler!
    AdPlayer.Image.Texture.Filter:=atLinear;
    AdPlayer.Open(Fmain.apath+relpath);
    AdPlayer.Loop:=false;
    AdPlayer.onStop:=TAdNotifyEvent(pm);
    space:=(screen.Height-(screen.Width/AdPlayer.Image.Width*
      AdPlayer.Image.Height))/2;
  end;
  Result:=count;
end;
Und gleich beim Erzeugen des Video-Players bekomme ich eine Access-Violation. Hat jemand spontan eine Ahnung, woran das liegen könnte? Ich habe mir mal die Beispiele angeschaut, im Video-Player wird da eigentlich das gleiche gemacht, nur halt in der selben Unit. Wobei es daran nicht liegt, habe probeweise das Video in der Hauptunit direkt nach dem Erzeugen des AdDraws erstellt, es kommt genau der selbe Fehler.

Wäre über jede Hilfe dankbar!
  Mit Zitat antworten Zitat