Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm läuft nur am Rechner an dem es erstellt wurde :( (https://www.delphipraxis.net/104455-programm-laeuft-nur-am-rechner-dem-es-erstellt-wurde.html)

f4k3 4. Dez 2007 14:59


Programm läuft nur am Rechner an dem es erstellt wurde :(
 
Schönen späten Nachmittag liebe DP'ler ;)

Wie ihr euch sicher denken könnt, hab ich mal wieder n Problem :P

und zwar ...


n kollege von mir hat n Programm geschrieben. das Programm ist momentan noch ziemlich unflexibel und man kann ein paar wichtige einstellungen nicht tätigen.
in dem Programm sind mehrer Pics und Videos fest hinterlegt.

Als das Programm geschrieben wurde wurde es auf unseren Servern gespeichert, und somit auch der Pfad, des Videos, auf unseren Server gelegt.
Zu guter letzt muss das Programm bis Donnerstag lauffähig sein, und auf einem anderen PC, der über keine Verbindung zum Server verfügt laufen.
Denn Schulung bei uns steht ne schulung an, und wir möchten den kunden schon einmal einen "vorab-blick" gewähren.

Das Programm läuft ja auch tadellos, sobald eine Verbindung zu dem Pfad des Videos besteht. (der wie bereits erwähnt auf unseren servern liegt)

Nun möchte ich im Mediaplayer unter Filename, nicht im Objektinspektor den Pfad des Videos stehen haben, sondern beim FormCreate Event im Verzeichnis, indem die .exe liegt und alle anderen Programmteile (Datenbanken, .pas-Dateien etc. - wie gesagt des teil muss nur laufen und ist noch nicht endprodukt), der Eigenschaft FileName "sagen" dass er die datei seat.avi hinterlegen soll.

Ich wollte es so realisieren ...

Delphi-Quellcode:
procedure TFmetall.FormCreate(Sender: TObject);
begin
MediaPlayer1.FileName:= 'seat.avi';
MediaPlayer1.Open;
...
...
...
end;
Wenn ich das Programm nun lokal auf x-beliebigen PC kopier, das Netzwerkkabel abknips und versuchen will, dass Programm zu starten kommt ne Microsoft Fehlerberichterstattung :( weiter nichts, kein ungültiger pfad, kein gar nix ...

Wenn ich aber das Programm, das immer noch lokal liegt, der Rechner keine Netzwerkverbindung hat, in Delphi 7 öffne und compalieren möchte, funzts ... hat jemand von euch ne idee?

Vielen Dank Euer f4k3

mkinzler 4. Dez 2007 15:03

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Ist Mediaplayer1.Active vor dem kompilieren auf False gesetzt worden?

Kroko1999 4. Dez 2007 15:03

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
übergib den Pfad für Bilder, Videos etc einfach in ParamStr und liest in von dort ein
Delphi-Quellcode:
MyPath := Paramstr[1];
MediaPlayer1.FileName:= MyPath+'seat.avi';
!

MrKnogge 4. Dez 2007 15:05

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Zitat:

Delphi-Quellcode:
MediaPlayer1.FileName:= 'seat.avi';

Hierbei sucht dein Programm das Video aber nicht zwangsweise im Programmverzeichnis.
Besser wäre:
Delphi-Quellcode:
MediaPlayer1.FileName:= ExtractFilePath(ParamStr(0) + 'seat.avi';
Gruß

f4k3 4. Dez 2007 15:09

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Zitat:

Zitat von mkinzler
Ist Mediaplayer1.Active vor dem kompilieren auf False gesetzt worden?


Falls du die Eigenschaft AutoEnable meinst, weil ich find keine Active, die ist im Objektinspektor mit false angegeben.
wenn ich zu der Form gelange, die das Video enthält, siehst du bereits an diesem codeschnipsel, dass der MediaPlayer1 erst dann "geöffnet" wird ;)

Also ist nicht die Lösung des Problems ...

Delphi-Quellcode:
procedure TFmetall.FormCreate(Sender: TObject);
begin
MediaPlayer1.FileName:= 'seat.avi';
MediaPlayer1.Open;
...
...
...
end;

mkinzler 4. Dez 2007 15:11

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Die Eigenschaft heißt auch .Enabled nicht .Active.

f4k3 4. Dez 2007 15:14

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Zitat:

Zitat von Kroko1999
übergib den Pfad für Bilder, Videos etc einfach in ParamStr und liest in von dort ein
Delphi-Quellcode:
MyPath := Paramstr[1];
MediaPlayer1.FileName:= MyPath+'seat.avi';
!

Was bezweck ich dann damit? ich würd etz so aufn ersten Blick Paramter zu String konvertierung verstehen.
aber wo liegt das der Sinn? wenn ich ParamStr[1] den pfad zuweise, kommts doch genau aufs selbe raus oder nicht?

f4k3 4. Dez 2007 15:17

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Zitat:

Zitat von mkinzler
Die Eigenschaft heißt auch .Enabled nicht .Active.

der Mediaplayer wird auf .Enabled := True gesetzt, wenn der Timer in kraft tritt, und somit dass Video abgespielt wird.

f4k3 4. Dez 2007 15:19

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von f4k3
Was bewirkt dieses ParamStr?

okay ... delphi hilfe bringt doch was :P ... zumindest ab und zu :P
aber wenn er mir den dateinamen liefert, des ausgeführten programms und ich seat.avi dahinter häng ... kann ich mir vorstellen warum die fehlermeldung kommt,
also hilft mir auch nich weiter :(

Unter Windows gibt ParamStr(0) den Pfad und den Dateinamen des ausgeführten Programms zurück (z.B. C:\TEST\MYPROG.EXE).

MrKnogge 4. Dez 2007 15:25

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Drumm noch ein ExtractFilePath ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz