Delphi-PRAXiS

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 ...

f4k3 4. Dez 2007 15:26

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Ach ja, das Phänomen dass er auf meinem Rechner, ohne Netzwerkverbindung das Programm ausführen kann, (also in meiner Grundversion),
besteht immer noch ^^

f4k3 4. Dez 2007 15:30

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

Zitat von MrKnogge
Drumm noch ein ExtractFilePath ...

derzeitiger Quellcode ...

Delphi-Quellcode:
procedure TFmetall.FormCreate(Sender: TObject);
begin
MediaPlayer1.FileName:= ExtractFilePath(ParamStr(0) + 'seat.avi');
MediaPlayer1.Open;
...
...
...
end;
Fehlermeldung beim compalieren dazu ... wieder im Anhang

MrKnogge 4. Dez 2007 15:32

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Delphi-Quellcode:
MediaPlayer1.FileName:= ExtractFilePath(ParamStr(0)) + 'seat.avi'; // Du möchtest den Pfad der Anwendung! Nicht des gesamten gebildes!

f4k3 4. Dez 2007 15:48

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
leider nicht die Problemlösung :(

Kann nach wie vor das Programm nicht lokal auf irgendwelchen anderen Rechner starten.
Sobald ich das Netzwerkkabel entferne, das Programm starten will, kommt der Microsoft Fehlerberichterstattungs Dialog ... :(

rollstuhlfahrer 4. Dez 2007 15:50

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
mal ne andere Frage: kann TmediaPlayer überhaupt Videos abspielen??

2. wenn du das Netzwerkkabel abknipst, startest du das Programm dann lokal?

halinchen 4. Dez 2007 15:54

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Ich möchte mal eure Aufmerksamkeit auf das Bild im Anhang lenken.

Es findest ein Gerät(etyp) nicht.

Klaus01 4. Dez 2007 15:55

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
..und Du bist Dir sicher das der Mediaplayer auf den Rechnern avi Dateien abspielen kann?

Grüße
Klaus

f4k3 4. Dez 2007 15:56

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

Zitat von rollstuhlfahrer
mal ne andere Frage: kann TmediaPlayer überhaupt Videos abspielen??

2. wenn du das Netzwerkkabel abknipst, startest du das Programm dann lokal?

1. Jep hat ja zuvor auch funktioniert

2. ich kopier das Programm meinet wegen auf lokaler Datenträger (C: ) ... knips das kabel ab ... und versuch zu starten.

Würde also schon behaupten dass ich es lokal starte ^^

f4k3 4. Dez 2007 15:59

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

Zitat von Klaus01
..und Du bist Dir sicher das der Mediaplayer auf den Rechnern avi Dateien abspielen kann?

Grüße
Klaus

Alle rechner mit den gleichen Codes ausgestattet

Betriebssystem Win XP Pro mit SP2 ... alle Updates und Windows Media Player 11 ... alle Treiber installiert ... von dem her ... jow :P

MrKnogge 4. Dez 2007 16:09

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Was macht denn das Programm noch ausser das Video abspielen?

Klaus01 4. Dez 2007 16:10

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

Zitat von f4k3
Zitat:

Zitat von Klaus01
..und Du bist Dir sicher das der Mediaplayer auf den Rechnern avi Dateien abspielen kann?

Grüße
Klaus

Alle rechner mit den gleichen Codes ausgestattet

Betriebssystem Win XP Pro mit SP2 ... alle Updates und Windows Media Player 11 ... alle Treiber installiert ... von dem her ... jow :P

Kannst Du mal schauen, ob das anghängte Projekt bei Dir läuft.
Ist nur ein TMediaPlayer und ein TOpenDialog - mehr nicht.
Einfach Datei auswählen und starten.

Denn soweit ich das weiß haben TMediaPlayer und Windows Media Player 11 nicht sehr viel gemein.
TMediaPlayer setzt auf den alten Window Media Player auf.

Grüße
Klaus

mkinzler 4. Dez 2007 16:17

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

rollstuhlfahrer 5. Dez 2007 16:51

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
bei mir auch, ohne probleme

f4k3 6. Dez 2007 07:49

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
Bei Mir auch ... einzigster Unterschied dass bei mir .Display auf nem Panel liegt ...

dürft aber ansich nix anhaben ... habs wiederholt getestet ... und mir ist war nicht schlüssig warum und wieso ... aber wenn ich des netzwerkkabel zieh und mich vorher an der domäne angemeldet hab, dann funzts nich ... wenn ich aber mich abmelde und des netzwerkkabel zieh ... rechner hochfahr mich mit meinem profil an der domäne anmelde und dann quasi local bin ... funzts ...

muss halt noch optimiert werden, dass des auch läuft, falls im laufenden betrieb die server connections flöten gehen ^^

Vielen dank für eure Hilfe und den damit verbunden Einsatz ;)

Bestes Delphi Forum der Welt :) ...

Euer f4k3

Luckie 6. Dez 2007 08:41

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

Zitat von f4k3
2. ich kopier das Programm meinet wegen auf lokaler Datenträger (C: ) ... knips das kabel ab ... und versuch zu starten.

Du kopierts aber die benötigten Dateien schon mit und legst sie ins Programmverzeichnis?

f4k3 7. Dez 2007 08:23

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

Zitat von Luckie
Zitat:

Zitat von f4k3
2. ich kopier das Programm meinet wegen auf lokaler Datenträger (C: ) ... knips das kabel ab ... und versuch zu starten.

Du kopierts aber die benötigten Dateien schon mit und legst sie ins Programmverzeichnis?

lol ich bin zwar nich der Delphi-Crackhead ... aber soweit weiß ich das auch ... :P

Ja ich kopier den kompletten ordner lokal ... sogar mit allen delphi dateien ^^ (da es momentan ja nur ums testen geht ^^)

agm65 7. Dez 2007 08:44

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
okay, ich hatte letztes auch so ein problem, überprüfe ob der haken bei komponenten - packages installieren - laufzeit packages verwenden -> den haken rausmachen !

f4k3 7. Dez 2007 12:26

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

Zitat von agm65
okay, ich hatte letztes auch so ein problem, überprüfe ob der haken bei komponenten - packages installieren - laufzeit packages verwenden -> den haken rausmachen !

mhm ... ich find die Einstellung nicht, ich kann nur Packages installieren ... und dort könnt ich nen haken setzen bei "Mit Laufzeit - Packages aktualisieren" ... ansonsten gibts da nix zum einstellen ... und die frage is natürlich für welches Package?

mkinzler 7. Dez 2007 12:33

Re: Programm läuft nur am Rechner an dem es erstellt wurde :
 
In den Optionen deines Programmes

f4k3 7. Dez 2007 13:04

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

Zitat von mkinzler
In den Optionen deines Programmes

mhm ... schön und gut ... aber da ist in keinem package n "häckchen" drin ?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.

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