Problem beim Resorcen laden



  • Hallo,
    ich habe ein Problem mit dem Laden von eingebundenen Resourcen, oder besser gesagt, einen seltsamen Effekt. Also: Ich Habe ein paar Resourcen (paar Bitmaps, Waves und AVIs) in mein Projekt eingebunden mittels einer .rc-Datei, die etwa so aussieht:

    RES_ANIM    AVI     "anim.avi"
    RES_UP      BITMAP  "1u.bmp"
    RES_DOWN    BITMAP  "1d.bmp"
    RES_SOUND   WAVE    "msg.wav"
    

    Bitmap laden und Sound spielen geht problemlos:

    pBmp1->LoadFromResourceName((int)HInstance, "RES_UP");
    PlaySound("RES_SOUND", HANDLE(HInstance), SND_RESOURCE);
    

    Das AVI will ich ein einem TAnimate abspielen, jedoch kommt bei Setzen von TAnimate->ResHandle eine Exception "Can not load AVI":

    Animate1->ResHandle = (int)HInstance;   //Exception
    Animate1->ResName = "RES_ANIM";
    

    Schreibe ich jedoch statt dessen:

    Animate1->ResHandle = 0;
    

    Dann wird das AVI ganz normal angezeigt. Da bin ich nicht böse drüber, aber warum ist das so? Denn laut Hilfe: "Specifies the Windows handle for the module that contains the AVI clip as a resource." Und das ist definitiv nicht Null...

    Sorry für den langen Text, ich hoff, es war nicht zu verwirrend 🙂
    .



  • Hallo,
    das ist aus meiner Hilfe:
    // Hilfe Start
    Die Eigenschaft ResHandle legt das Windows-Handle des Moduls fest, das den AVI-Clip als Ressource enthält.

    __property unsigned ResHandle = {read=FResHandle, write=SetResHandle, nodefault};

    Beschreibung

    Setzen Sie ResHandle zur Laufzeit auf das Instanzen- oder Modul-Handle des Moduls, das die Animationsressource enthält. Anschließend setzen Sie die Eigenschaft ResID oder ResName, um die AVI-Ressource innerhalb des Moduls zu identifizieren.

    Wenn ResHandle keinen Wert besitzt, verwendet das Animations-Steuerelement die Instanz des Hauptmoduls der Anwendung.

    Hinweis

    Sobald ResHandle einen Wert erhält, wird die Eigenschaft CommonAVI automatisch auf aviNone gesetzt und die Eigenschaft FileName auf einen leeren String.
    // Hilfe Ende

    das ist aus BCB 6, wenn der Wert von ResHandle 0 ist sucht er sich automatisch das des Hauptmoduls.

    mfg SoftHall

    [ Dieser Beitrag wurde am 08.05.2003 um 21:22 Uhr von SoftHall editiert. ]



  • Wenn ResHandle keinen Wert besitzt, verwendet das Animations-Steuerelement die Instanz des Hauptmoduls der Anwendung.

    Genau dieser Kommentar fehlt bei mir in der Hilfe. Vielen Dank.

    .


Anmelden zum Antworten