Filecopy XbTools

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Filecopy XbTools

Beitragvon ramses » Di, 30. Nov 2010 10:56

Guten Morgen

nachdem sich eine App die Monate lang einwandfrei funktioniert hat auf einmal ohne Fehlermeldung einfach beendet bin ich nach längerem suchen der Meinung das Problem liegt in der Funktion Filecopy der Tools.

Wird versucht ein File mit Leerzeichen zu kopieren z.B. "20101129094BA7_Einlesen Excellisten.pdf" legt Filecopy als Ziel nur eine 0 Byte Datei an und das Programm beendet sich entweder sofort oder bei dem filecopy() folgenden Befehl/Zeile ohne irgendeine Meldung.

Sind keine Leerzeichen im Filename funktionierts einwandfrei.

Kennt jemand dieses "Leerzeichenproblem"


Grüsse Carlo
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16

Re: Filecopy XbTools

Beitragvon UliTs » Di, 30. Nov 2010 11:00

Hallo Carlo,
ich setze zwar die XbTools nicht ein, vielleicht hilft aber
Code: Alles auswählen
cFileName := "'20101129094BA7_Einlesen Excellisten.pdf'"

Das heißt: in den String des Dateinamens zusätzlich zu Beginn und am Ende ein ' schreiben.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2083
Registriert: Fr, 10. Feb 2006 10:51
Wohnort: Aachen

Re: Filecopy XbTools

Beitragvon Rolf Ramacher » Di, 30. Nov 2010 11:06

Hallo Carlo,

ich setzte Copy File() ein.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1615
Registriert: Do, 09. Nov 2006 11:33
Wohnort: Bergheim

Re: Filecopy XbTools

Beitragvon AUGE_OHR » Di, 30. Nov 2010 11:39

hi,
ramses hat geschrieben:Kennt jemand dieses "Leerzeichenproblem"
Uli sagte es ja schon, man muss den String "einschliessen".
auch bei anderen Function z.b. RunShell() gibt es sonst das "Leerzeichenproblem".
Code: Alles auswählen
RunShell(CHR(34)+SP_PLAYLAST()+CHR(34),"CUTTER.EXE",.T.,.F.)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 8467
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Filecopy XbTools

Beitragvon ramses » Di, 30. Nov 2010 12:32

Hi,

Leider geht der mit dem einschliessen des Filenamens mit ' nicht, dann wird nichts kopiert.

Es ist mir ein Rätsel ....
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16

Re: Filecopy XbTools

Beitragvon UliTs » Di, 30. Nov 2010 13:06

Vielleicht ist es auch umgekehrt: Vertausch mal ' mit ".
Klappt es dann?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2083
Registriert: Fr, 10. Feb 2006 10:51
Wohnort: Aachen

Re: Filecopy XbTools

Beitragvon AUGE_OHR » Di, 30. Nov 2010 18:21

ramses hat geschrieben:das Problem liegt in der Funktion Filecopy der Tools.
ok mal was "ganz anderes" : warum die Tools Function ?
wenn du die Win-API ShFile
ShFile.zip
ShFile API :
Copy, Move, Rename, Delete
Need Alaska BAP or ot4XB
(4.11 KiB) 64-mal heruntergeladen
benutzt hast du auch gleich die "richtige" optische Darstellung je nach OS()
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 8467
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Filecopy XbTools

Beitragvon ramses » Do, 02. Dez 2010 19:55

Hallo

eine nachvollziebare Erklährung fehlt mir zwar, aber nach einer Neuistallation von Xbase und den Tools und anschliessendem neu Compilieren und Linken ist das Problem beseitigt. FileCopy() kopiert wieder einwandferei auch Dateinamen mit Leerzeichen.

Danke für eure Tips.

@Auge_Ohr
Ich nutze die Tools seit Jahren, habe mir auch schon überlegt auf Sie zu verzichten und einige Versuche gemacht, jedoch ist es nicht ganz einfach diese zu ersetzten ohne für die vielen benutzten Funktionen Ersatzfunktionen zu schreiben und diese dann noch mit allen Projekten zu testen. Ich habe es dann aufgegeben und beschlossen bei den Tools zu bleiben. Neue Zusatz Tools / DLLS usw. nutzte ich nur sehr sehr zurückhaltend, zum einen wegen restriktiven Auflagen meiner Hauptkunden zum andern ist es einfacher mit bekanntem zu Arbeiten wo die Tücken/Probleme/Verhalten bekannt / erarbeitet ist. ...

Gruss Carlo
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16

Re: Filecopy XbTools

Beitragvon brandelh » Fr, 03. Dez 2010 0:43

Nur so zur Info,

Code: Alles auswählen
COPY FILE (cSourceFile) TO (cTargetFile)


funktioniert bei mir einwandfrei, die Fehlende Rückmeldung kann man mit FEXISTS( , ??? ) erledigen.
Hierbei sind die Attributparameter wichtig (???), das steht in der Onlinehilfe.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 10770
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Filecopy XbTools

Beitragvon AUGE_OHR » Fr, 03. Dez 2010 8:25

ramses hat geschrieben:eine nachvollziebare Erklährung fehlt mir zwar, aber nach einer Neuistallation von Xbase und den Tools und anschliessendem neu Compilieren und Linken ist das Problem beseitigt. FileCopy() kopiert wieder einwandferei auch Dateinamen mit Leerzeichen.
dann ist ja alles gut \:D/

komisch, auch ich habe es in der letzten Zeit öfter gehabt das ich die DLL komplett "ersetzen" musste weil "ganz komische" Fehlermeldungen auftauchten ... :-k

ramses hat geschrieben:Ich nutze die Tools seit Jahren, habe mir auch schon überlegt auf Sie zu verzichten und einige Versuche gemacht, jedoch ist es nicht ganz einfach diese zu ersetzten ohne für die vielen benutzten Funktionen Ersatzfunktionen zu schreiben und diese dann noch mit allen Projekten zu testen. Ich habe es dann aufgegeben und beschlossen bei den Tools zu bleiben. Neue Zusatz Tools / DLLS usw. nutzte ich nur sehr sehr zurückhaltend, zum einen wegen restriktiven Auflagen meiner Hauptkunden zum andern ist es einfacher mit bekanntem zu Arbeiten wo die Tücken/Probleme/Verhalten bekannt / erarbeitet ist. ...
ich versuche die "Tools" loszuwerden. viele Sachen sind ja für DOS / Novell und nicht unbedingt für eine Windows Umgebung.

Windows selbst bringt nun ja einige API´s mit die schon seit v3.x "gelten"
siehe dir doch mal die ShFile API an (benötigt BAP siehe Alaska).
Das ist "die" Schnittstelle die Windows OS() benutzt zu kopieren, moven, löschen etc.

es sieht doch "viel schöner" aus wenn du die Windows Animation wie "gewohnt" beim Kopieren hast.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 8467
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Filecopy XbTools

Beitragvon ramses » Fr, 03. Dez 2010 9:57

@Jimmy

teilweise hast du recht. Ich arbeite bei vielen Kunden noch mit Novell-Server. Leider funktionieren die Novell Funktionen der Tools mit Win7 nicht mehr. Schade eigentlich. Netware-Server ist Windows-Server noch immer um Meilen überlegen. Das die Netware Funktionen nicht mehr liefen war bei mir der Hauptgrund für die Enscheidung die Tools rauszuschreiben. Die Novell-Funktionen hab ich zwangsmässig durch Programmänderungen bereits ersetzt. Daneben benutze ich jedoch noch einige Datums-Funktionen, File-Funktionen und viele der String + Bit Funktionen. Da wurde es mir dann zu aufwendig die ganzen Funktionen die ich für String Bearbeitung verwende neu zu schreiben und zu testen. Beim Test meiner "Ersatz" Token-Funktionen musste ich dann feststellen das meine Ersatz-Token-Funktionen langsamer waren. Dann hab ich aufgegeben. Aus Sicht der Auflagen meiner Kunden könnte ich noch einige Zeit verwenden um die Tools loszuwerden, muss aber nicht. Vielleicht bin auch zu faul um das Rad neu zu erfinden.....

Gruss Carlo
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16

Re: Filecopy XbTools

Beitragvon AUGE_OHR » Fr, 03. Dez 2010 10:02

ramses hat geschrieben:Leider funktionieren die Novell Funktionen der Tools mit Win7 nicht mehr.
welchen Client ( Version ? )benutzt du ?

ramses hat geschrieben:Schade eigentlich. Netware-Server ist Windows-Server noch immer um Meilen überlegen.
=D>
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 8467
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Filecopy XbTools

Beitragvon ramses » Fr, 03. Dez 2010 11:06

Hallo Jimmy

das war letzten Herbst der erste der rauskam. Die Tools versuchten auf eine DLL des Novell-Clients zuzugreifen die nicht vorhanden war, ich glaube das war prtwin32.dll.

Ich habe dann alle Funktionen der Tools auf die über XBTNETW.LIB zugegriffen wird aus meinen Programm entfernt und damit das Problem gelöst. Leider ging damit auch mein sehr wirkungsvoller "Kopierschutz", Abfrage der Server-Serial Nummer verloren.

Arbeitest du auch noch mit Novell-Server?

Gruss Carlo
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16

Re: Filecopy XbTools

Beitragvon AUGE_OHR » Fr, 03. Dez 2010 18:23

ramses hat geschrieben:das war letzten Herbst der erste der rauskam.
hm ... Herbst ist schon richtig, aber ich meine den NW-Client 2 für Windows 7.
da kam dieses Jahr 2010/10 der SP1 Client (IR4) raus siehe http://download.novell.com/Download?buildid=uRcQqWnz4kI~
ramses hat geschrieben:Die Tools versuchten auf eine DLL des Novell-Clients zuzugreifen die nicht vorhanden war, ich glaube das war prtwin32.dll.
YUP das ist die Datei die man benötigt.
ramses hat geschrieben:Ich habe dann alle Funktionen der Tools auf die über XBTNETW.LIB zugegriffen wird aus meinen Programm entfernt und damit das Problem gelöst.
Leider ging damit auch mein sehr wirkungsvoller "Kopierschutz", Abfrage der Server-Serial Nummer verloren.
ich habe meinen eigenen Novell "Wrapper" wo ich so was (zentral) abfangen kann
Code: Alles auswählen
#INCLUDE "OS.CH"
STATIC lIsNovell, nDLL
INIT PROCEDURE InitNovFunc
   LOCAL cDir
   lIsNovell := .F.
   // Je nach OS-Familie andere Einstellungen verwenden
   IF OS(OS_FAMILY) == "WINNT"
      cDir := TRIM(GetEnv("systemroot")) + "\system32"
   ELSE
      cDir := TRIM(GetEnv("winbootdir")) + "\system"
   ENDIF
   IF FEXISTS(cDir + "\prtwin32.dll")
      nDll := DLLLoad("xbtnetw.dll")
      lIsNovell := .T.
   ENDIF
RETURN

FUNCTION CnetSDate( cFileServer )
LOCAL dRet := DATE()
   IF lIsNovell
      // dRet := &("NnetSDate")( cFileServer )
      dRet := DllCall( nDll,, "NNETSDATE", cFileServer )
   ENDIF
RETURN dRet

FUNCTION CnetStime()
LOCAL cRet := TIME()
   IF lIsNovell
      // cRet := &("NnetStime")()
      cRet := DllCall( nDll,, "NNETSTIME")
   ENDIF
RETURN cRet

FUNCTION CnetSerNo( cFileServer )
LOCAL cRet := "08154711"
   IF lIsNovell
      // cRet := &("NnetSerno")( cFileServer )
      cRet := DllCall( nDll,, "NNETSERNO", cFileServer )
   ENDIF
RETURN cRet
...

ramses hat geschrieben:Arbeitest du auch noch mit Novell-Server?
YUP, auch noch "alte" v3.2x "aufgebohrt" auf 2.8Ghz, 768MB RAM, Promise UDMA100, 7200 RPM und zwei 3-Com 1Gbit (v4.x Treiber...) mit IPX/SPX.

Die NW-Server hängen zwischen den Windows Netzwerken und "trennen" diese (weil kein TCP/IP), aber mit dem NW-Client und IPX/SPX kommt jeder Workstation aus beiden Netzwerken (W2K3 / W2K8) an den "DBF Server".
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 8467
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Filecopy XbTools

Beitragvon ramses » So, 05. Dez 2010 14:46

@Jimmy
mit "letzten Herbst" habe ich natürlich gemeint der erste Client der für Win7 rauskam. Ich habe jetzt noch den SP1 (IR1) bis zu diesem war die PrtWin32.DLL nicht enthalten. Auch der Import dieser von einem XP/Vista Client hat leider nicht funktioniert. Daher musste ich auf die XBTNETW.LIB verzichten.

Ist beim aktuellen (IR4) die PrtWin32.DLL enthalten oder wie hast du deinen Wrapper zum laufen gebracht?

Hofftentlich sind künfig weitere Clients für die Netware verfügbar, dass würde uns Netware noch eine weile erhalten. Ich habe ab Netware 2.0 alle Versionen durch. Viele viele Installiert und gewartet, leider war Netware immer so gut dass es sich von der Wartung nicht leben liess. Ich habe fast alle Netware Server bei Kunden nur 2 mal gesehen, bei der Installation und beim Austausch der Hardware... Leider war Novels Marketing Scheisse.... Selbst habe ich einen mit Netware 6.5 .

Ach ja, was war deine längste Up-Time die du gesehen hast? Meine war 735 Tage.


Gruss Carlo
ramses
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 209
Registriert: Mi, 28. Jul 2010 17:16


Zurück zu Programmierung allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste