men ideen er at applicationen skal ligge på en CD og da man ik ved om brugeren har cd-drev på D E eller andet så er det jo lidt svært at angive hvor flash filen skal loades fra, hvordan kan dette problem løses?
så tager den filen i roden af cd'en ???? procedure TForm1.FormCreate(Sender: TObject); var POT : String; begin POT := extractfilepath(paramstr(0))+'vinlageret.swf'; ShockwaveFlash1.LoadMovie(0, POT); ShockwaveFlash1.Play;
Jeg forstår slet ikke problemet. Hvorfor behøver du skrive 'c:\13-4ny\Movie1\11.swf'? Kan du ikke bare skrive "\13-4ny\Movie1\11.swf' og undlade drevet. Hvis du kører programmet fra E:, så kigger programmet på E-drevet.
I øvrigt er stone's eksempel ganske anvendeligt: ExtractFilePath(Paramstr(0)) + '11.swf';
virker fint, men det afholder mig ikke fra at komme med denne lille variant: ExtractFilePath(Application.ExeName)+ '11.swf';
Begge løsninger finder jeg lige gode.
Stone: Er det dig med "Stone's Software"? - fine sager.
Nej - jeg havde bare pillet det essentielle ud fra stone's eksempel, nemlig den del der henter en absolut sti og sætter det foran det navn som du vil indlæse.
Ydermere har Stone specificeret det ud for at gøre det mere læseligt. Han kunne jo også have gjort dette:
procedure TForm1.FormCreate(Sender: TObject); begin ShockwaveFlash1.LoadMovie(0, ExtractFilePath(Paramstr(0))+'11.swf'); ShockwaveFlash1.Play; end;
Det bliver noget mere kompakt. Min version ville se sådan ud:
procedure TForm1.FormCreate(Sender: TObject); begin ShockwaveFlash1.LoadMovie(0, ExtractFilePath(Application.ExeName+'11.swf'); ShockwaveFlash1.Play; end;
Har du i øvrigt prøvet at skrive '\13-4ny\Movie1\11.swf':
procedure TForm1.FormCreate(Sender: TObject); begin ShockwaveFlash1.LoadMovie(0, '\13-4ny\Movie1\11.swf'); ShockwaveFlash1.Play; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.