Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Imagenes Flash (https://www.clubdelphi.com/foros/showthread.php?t=44640)

gonzalez 11-06-2007 22:32:00

Imagenes Flash
 
Hola. Una pregunta... ¿Como le puedo hacer para insertar una imagen creada en Flash en un Form?

marcoszorrilla 11-06-2007 22:44:28

Hace mucho que no hago la prueba pero esto recuerdo que me funcionaba:

Cita:

To make use of SWF files in your Delphi application you should have the swf plugin installed then follow these steps:

Um SWF-Dateien in einer Delphi-Applikation gebrauchen zu können, muss das SWF-Plugin installiert sein.

{English}

In the Delphi IDE

- click on "Component", "Import ActiveX Control"

- chose "Shockwave Flash" and click on "install".

Now you have a TShockwaveFlash component in your IDE on the ActiveX
tabsheet.

Place the TShockwaveFlash Component onto your form, resize it as needed but
for now do not assign a movie to it.

You will need to register the ocx file if it is not installed on the target computer. So you should have a resource file with

- the swflash.ocx and your Flash ( *.swf) file.

- Copy swflash.ocx (from i.e. windows\system32\macromed\flash) and your custom swf file to your project path.

- Create a textfile with a code like this:

SHOCKWAVEFILE RCDATA yourfile.swf

SHOCKWAVEOCX RCDATA swflash.ocx

(Where yourfile.swf is your swf-file)

- Save this file as flash.rc

- Goto Commandline, change to your project dir and enter the line:

"Brcc32 -r flash.rc"

- Now you have your new resource as flash.res file

{Deutsch}


In der Delphi IDE:

- Im Menü Komponente, "ActiveX importieren" anklicken.

- Dann "Shockwave Flash" auswählen und "Installieren..." anklicken.

Jetzt ist die TShockwaveFlash unter dem ActiveX Register zu finden.

Plaziere nun eine TShockwaveFlash Komponente auf einer form und passe die

evtl. die Grösse an. Noch kein "Movie" laden!

Wenn auf einem anderen Computer swflash.ocx nicht installiert ist, muss

sie dort noch installiert werden. Dazu machen wir eine Ressource-Datei

welche die swflash.ocx und die eigene Flash ( *.swf )-Datei enthält.

- Kopiere zuerst die swflash.ocx (von z.B windows\system32\macromed\flash)

und die eigene Flash Datei (.sfw) in dein Projekte-Verzeichnis.

- Erstelle eine Textdatei mit folgenden zwei Zeilen:

SHOCKWAVEFILE RCDATA yourfile.swf

SHOCKWAVEOCX RCDATA swflash.ocx

(Wobei yourfile.swf die eigene Flash-Datei ist)

- Speichere die Datei als flash.rc

- Starte den MS-DOS Promt (Command.com), wechsle ins dein
Projekte-Verzeichnis

und gib folgende Zeile ein:

Brcc32 -r flash.rc

- Jetzt hat es automatisch die flash.res Datei erstellt.

{************************************************************}
Código Delphi [-]

                    uses ShockwaveFlashObjects_TLB; // will be used automatically 
                    {...} 

                    implementation 

                    {$R *.DFM} 
                    {$R flash.res} // your new created resource 
                    {...} 

                    procedure TForm1.FormCreate(Sender: TObject); 
                    var 
                      SystemDir : array[0..MAX_PATH] of Char; 
                      SWFDir, AppDir: String; 
                      Fres: TResourceStream; 
                      Ffile: TFileStream; 
                    begin 
                        GetSystemDirectory(@SystemDir,MAX_PATH); 
                        SWFDir := SystemDir+'\macromed\flash\'; 
                        GetDir(0,AppDir); // Get current directory 

                        //check whether the sw-flash ocx is already installed 
                        if fileexists(SWFDir+'swflash.ocx')=false then begin 
                            //create directories if needed and extract file from resource. 
                            {$i-} //compiler directive to suppress i/o error messages 
                            MkDir(SystemDir+'\macromed'); 
                            MKDir(SystemDir+'\macromed\flash'); 
                            {$i+} 
                            Fres := TResourceStream.Create(0,'SHOCKWAVEOCX',RT_RCDATA); 
                            Ffile := TFileStream.Create(SWFDir+'swflash.ocx',fmCreate); 
                            Ffile.CopyFrom(Fres,Fres.Size); 
                            Fres.Free; 
                            Ffile.Free; 

                            //register ocx (simple but useful) 
                            winexec(PChar('regsvr32 /s '+SWFDir+'swflash.ocx'),SW_HIDE); 
                        end; 
                        // extract ShockwaveFile from resource to application directory 
                        Fres := TResourceStream.Create(0,'SHOCKWAVEFILE',RT_RCDATA); 
                        Ffile := TFileStream.Create('flashmovie.swf',fmCreate); 
                        Ffile.CopyFrom(Fres,Fres.Size); 
                        Fres.Free; 
                        Ffile.Free; 

                        //Assign the extracted swf file to your TShockwaveFlash object 
                        FlashMovie.Movie := AppDir+'\flashmovie.swf'; 
                    end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 16:36:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi