IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

delphi et fichier flash swf


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut delphi et fichier flash swf
    Bonjour, j'ai tenté d'intégrer une application flash dans delphi à partir de :
    ShockwaveFlashObjects_TLB.

    ma question n'est qu'une simple histoire de chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     procedure TForm1.FormCreate(Sender: TObject);
    begin
     Position:=poscreencenter;
     formstyle:=fsstayontop;
     width:=screen.Width;
     height:=screen.Height;
     ShockwaveFlash1.align:=alclient;
     ShockwaveFlash1.Movie:='../flash/delphi/horloge.swf';
    end;
    Si je donne le chemin complet, pas de soucis, ça marche... En revanche, si mon fichier flash se trouve dans le sous répertoire delphi et que je définisse le chemin en relatif comme montré dans le code, ça ne fonctionne pas...
    Comment déclarer le chemin d'un fichier se trouvant dans le même répertoire que l'exe delphi qui le gère.

    Le but étant de rendre portable le répertoire qui contient l'exe et le fichier flash...

    Merci (question toute bête mais qui m'empoisonne la vie.)

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    le plus mieux c'est de ne pas passer par un fichier non ?

    l'activeX supporte la lecture depuis un flux, je n'ai plus le détail en mémoire mais ça tourne autour de IStream si mon souvenir est bon.

    Google: Delphi SWF IStream
    http://www.delphiflash.com/how-to-open-swf-from-memory
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Merci Paul, si l'activeX permet le passage par un flux... que demande le peuple
    Je vais évidemment ne pas passer par le fichier...

    merci pour ta réflexion toujours très pertinente.
    Je regarde ça.

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Je te propose de passer par ExtractFilePath(Application.ExeName) pour récupérer le dossier d'installation de ton exe.
    Il me semble que les chemins relatif sont impactés lorsque tu utilises des OpenDialog/SaveDialog par exemple...

  5. #5
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Merci tempiqs pour ta réponse mais je n'avais pas vu toutes les possibilités que pouvait m'offrir l'activeX...cf post réponse à Paul Toth.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 578
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 578
    Par défaut
    Bonsoir à toutes et à tous,

    @ Archimède, voici le code que j'utilise à l'occasion :

    Depuis le dossier de l'application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var Chemin:string;
      begin
       Chemin := ExtraCtFilePatH(Application.ExeName);
       Chemin[2] := '|';
       Chemin := 'file:///'+ Chemin;
       if op1.Execute then begin
     
       Player.Movie :=  op1.filename;
       Player.Play;
      end;
    Depuis une ressource :
    Fichier RC = ANIM2 FLASH "ANIM2.swf"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    var 
     
        Chemin:string;
        temp :array[0..255]of char;
        res :TresourceStream;
      begin
       gettemppath(255, temp);
       Chemin := temp;
     
     
       res := TresourceStream.Create(hinstance, 'ANIM2', 'FLASH');
        res.SaveToFile(Chemin + 'ANIM2.swf');
       res.Free;
     
       Chemin[2] := '|';
       Chemin := 'file:///'+ Chemin;
     
        Player.Movie := Chemin + 'ANIM2.swf';
        Player.Play;
      end;
    Car, avec le "LoadMovieFromStream();" j'avais une erreur sous D6 et "ShockwaveFlashObjects_TLB".

    @+,

    Cincap

  7. #7
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Merci Cincap, je teste tout ça...

    @+

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 578
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 578
    Par défaut
    Bonjour à toutes et à tous,

    @ Paul TOTH, cela m'intéresserait de savoir pourquoi ce code ne fonctionne pas avec D6 et "ShockwaveFlashObjects_TLB":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var
      mem: TMemoryStream;
    begin
     with TOpenDialog.Create(self) do
      begin
        Filter := 'SWF|*.swf';
        if Execute then
        begin
          mem := TMemoryStream.Create;
          mem.LoadFromFile(FileName);
          mem.Position := 0;
          Player.LoadMovieFromStream(mem); //Erreur ici "Identificateur non déclaré"
          //Player.PutMovieFromStream(mem);
    
        end;
        Free;
      end;
    @+,

    Cincap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier un fichier flash .swf
    Par ingeniomatique dans le forum Flash
    Réponses: 3
    Dernier message: 09/04/2012, 19h43
  2. insérer un fichier flash (swf)
    Par Stéph utilisateur d'acces dans le forum Dreamweaver
    Réponses: 10
    Dernier message: 18/06/2009, 10h50
  3. intégration d'un fichier flash swf dans page html
    Par manu14 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 24/03/2009, 10h43
  4. Réponses: 4
    Dernier message: 17/01/2007, 15h48
  5. Modification fichier flash à parti du .swf
    Par BaxterFPF dans le forum Flash
    Réponses: 11
    Dernier message: 10/11/2006, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo