AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [CopyFile] Rückgabewert false, aber kein Grund
Thema durchsuchen
Ansicht
Themen-Optionen

[CopyFile] Rückgabewert false, aber kein Grund

Ein Thema von xZise · begonnen am 17. Mär 2007 · letzter Beitrag vom 18. Mär 2007
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

[CopyFile] Rückgabewert false, aber kein Grund

  Alt 17. Mär 2007, 20:49
Ich habe folgenden Code:
Delphi-Quellcode:
  if CopyFile(PChar(appDir + 'Update.exe'), PChar(qdPath), true) then
  begin
     MessageBox(Handle, PChar('The update was sucessfully installed!'), PChar('Update sucess'), MB_OK or MB_ICONEXCLAMATION);
  end else
    MessageBox(Handle, PChar('Quick Download can''t updated. Please repeat it later'), PChar('No update'), MB_OK or MB_ICONWARNING);
Aber er kopiert die Datei nicht...
Fabian
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#2

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 17. Mär 2007, 20:54
ist in qdPath auch neben dem pfad auch der dateiname enthalten?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 17. Mär 2007, 20:57
Sonst könntest du auch mal schauen, was dir

ShowMessage(SysErrorMessage(GetLastError)); liefert. Einfach nach deinem Code ausführen.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 17. Mär 2007, 20:58
Habe ich vergessen zu sagen: Wenn ich beide Pfade ausgebe, kopiere, im Explorer einfüge und ausführe => startet das Prog

@ Matze: Ich liebe win ^^
Zitat:
---------------------------
Quickdownloadupdate
---------------------------
Der Vorgang wurde erfolgreich beendet
---------------------------
OK
---------------------------
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#5

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 18. Mär 2007, 04:37
Moin!

Hast Du zufällig sowas gemacht?
Delphi-Quellcode:
if CopyFile(PChar(appDir + 'Update.exe'), PChar(qdPath), true) then
  begin
    MessageBox(Handle, PChar('The update was sucessfully installed!'), PChar('Update sucess'), MB_OK or MB_ICONEXCLAMATION);
  end else begin
    MessageBox(Handle, PChar('Quick Download can''t updated. Please repeat it later'), PChar('No update'), MB_OK or MB_ICONWARNING);
    ShowMessage(SysErrorMessage(GetLastError));
end;
Hat appDir einen abschließenden \ ?

Grüßle!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 18. Mär 2007, 09:28
oder man wendet sich mal an die Definition:
Code:
BOOL CopyFile(LPCTSTR lpszExistingFile, LPCTSTR lpszNewFile, BOOL fFailIfExists)
lpszNewFile ... File und nicht Dir/Path

Übergibt man da ein Verzeichnis(Dir), dann soll ja das Verzeichnis mit der Datei überschrieben werden, was natürlich schiefgehn muß.

if CopyFile(PChar(appDir + 'Update.exe'), PChar(qdPath + 'Update.exe'), true) then @Sunlight7: da appDir ja anscheinend ein abschließendes Backslash hat, würde ich einfach mal davon aus daß qdPath dieses auch hat.
Aber er hätte und ja auch einfach mal sagen können was sich in appDir und qdPath befindet ... wäre für die Fehlersuche schon eine recht wichtige Angabe gewesen.


PS: vielleicht wäre es auch schön, wenn er sich an die Namensgebung (z.B. von Delphi) hält.
Filename = Dateiname, eventuell inklusive Verzeichnis
Path = Verzeichnis mit \, sozusagen der Pfad zu einer Datei
Dir = das Verzichenis selber, also ohne \

Delphi-Quellcode:
if CopyFile(PChar(appDir + '\Update.exe'), PChar(qdDir + '\Update.exe'), true) then
if CopyFile(PChar(appDir + '\Update.exe'), PChar(qdPath + 'Update.exe'), true) then
if CopyFile(PChar(appPath + 'Update.exe'), PChar(qdPath + 'Update.exe'), true) then
...
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: [CopyFile] Rückgabewert false, aber kein Grund

  Alt 18. Mär 2007, 09:57
Zitat von xZise:
Habe ich vergessen zu sagen: Wenn ich beide Pfade ausgebe, kopiere, im Explorer einfüge und ausführe => startet das Prog
1. appDir hat ein abschließendes "\"
2. qdPath ist ein Pfad zur Datei (X:\Y\A.exe)

Zitat von himitsu:
PS: vielleicht wäre es auch schön, wenn er sich an die Namensgebung (z.B. von Delphi) hält.
Filename = Dateiname, eventuell inklusive Verzeichnis
Path = Verzeichnis mit \, sozusagen der Pfad zu einer Datei
Dir = das Verzichenis selber, also ohne \

Delphi-Quellcode:
if CopyFile(PChar(appDir + '\Update.exe'), PChar(qdDir + '\Update.exe'), true) then
if CopyFile(PChar(appDir + '\Update.exe'), PChar(qdPath + 'Update.exe'), true) then
if CopyFile(PChar(appPath + 'Update.exe'), PChar(qdPath + 'Update.exe'), true) then
...
War mir so noch nicht klar... Also denkt euch:
"appDir" = "appPath"
"qdPath" = "qdFileName"
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 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