Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi findfirst auf iomega lan hdd (https://www.delphipraxis.net/116100-findfirst-auf-iomega-lan-hdd.html)

Cylence 23. Jun 2008 14:11


findfirst auf iomega lan hdd
 
Hi,

ich hab eine externe USB/LAN HDD von Iomega und diese ist über netzwerk mit meinem rechner verbunden. Ich habe das laufwerk im explorer verbunden mit einem laufwerksbuchstaben. Wenn ich nun mit meinem prog mit findfirst etc dateien suche gibts nichts zurück nich das geringste kein fehler kein result nix... kann das sein das findfirst irgendwie auf manchen netzlaufwerken nicht klappt?

Gruß

tom

Bernhard Geyer 23. Jun 2008 14:17

Re: findfirst auf iomega lan hdd
 
Solche Geräte laufen oft mit einem Linux-System. D.h. Groß-/Kleinschreibung ist relevant.

Cylence 23. Jun 2008 14:20

Re: findfirst auf iomega lan hdd
 
ja das hab ich mir schon gedacht das es linux is aber was kann ich dann tun? Ich geb dem findfirst nur den laufwerksbuchstaben wie es in meinem windows verbunden ist und dann lass ich ihn lossuchen mit der bekannten getallfiles prozedur... die ja mit findfirst arbeitet aber da kommt nix raus. Und mit Groß/Klein schreibung kanns ja dann nich zu tun haben oder? Ich könnte den laufwerksbuchstaben in klein übergeben aber das isses doch nicht? Mir fällt ein wenn ich einfach nur eine datei aus dem laufwerk per opendialog auswähle oder per dragndrop einlese das geht...

ps achja vista *g* coole signatur :-)

Bernhard Geyer 23. Jun 2008 14:24

Re: findfirst auf iomega lan hdd
 
Probier mal " D:\" statt nur "D:" bzw. nur "D"

Cylence 23. Jun 2008 14:46

Re: findfirst auf iomega lan hdd
 
das mach ich genau so...ich hab ein shelltreeview von dem aus ich das laufwerk anwähle und dann in einem thread die dateien suche...

Cylence 23. Jun 2008 15:00

Re: findfirst auf iomega lan hdd
 
gibt es etwas als alternative das wie findfirst arbeitet? oder hmmm keine ahnung irgendwie muss es doch möglich auf einem linux netzlaufwerk dateien zu finden/suchen

Bernhard Geyer 23. Jun 2008 15:19

Re: findfirst auf iomega lan hdd
 
Zitat:

Zitat von Cylence
gibt es etwas als alternative das wie findfirst arbeitet? oder hmmm keine ahnung irgendwie muss es doch möglich auf einem linux netzlaufwerk dateien zu finden/suchen

Wenn du es im Explorer als Laufwerksbuchstabe sieht ohne hier irgendwas installiert zu haben wird vermutlich per SAMBA die Freigabe erfolgt sein. Und je nach Stand dieser SAMBA-Implementierung kann es hier noch einige Bugs auf Seiten von SAMBA geben (Muss ja fast alles per Reverse Engineering herausgefunden werden).

SirThornberry 23. Jun 2008 15:41

Re: findfirst auf iomega lan hdd
 
im Explorer siehst du was und in deinem programm nicht? da kann irgendwas nicht stimmen. Den von dir beschriebenen Effekt hatte ich das letzte mal als ich ein Program mit "ausführen als" ausgeführt habe und den Zugriff dabei eingeschränkt habe. Resultat ist das jedes Programm damit Probleme hatte weil einfach der Zugriff verweigert wird.

Funktioniert FindFirstFile auch nicht? Das wäre sehr seltsam. Denn letztendlich verwenden so ziemliche alle Programme intern irgendwo die gleichen Apifunktionen und die Funktionieren entweder immer oder nie, auf jeden Fall nicht verschieden bei verschiedenen Programmen.
Du schreibst das du die Dateien in einem Thread suchst. Könnte es nicht daran liegen? Hast du es mal ohne diesen Thread versucht?
Könntest du uns eventuell etwas Quelltext zeigen?

rollstuhlfahrer 23. Jun 2008 15:57

Re: findfirst auf iomega lan hdd
 
Bei mir ist das öfter so, dass das Netzwerklaufwerk nicht ganz verbunden ist. Erst wenn man mit dem Explorer an die richtige Stelle navigiert, dann kann auch FindFirst arbeiten.

Probier das mal aus.

Bernhard

Cylence 24. Jun 2008 07:39

Re: findfirst auf iomega lan hdd
 
ok also im explorer is das laufwerk verbunden ganz normal mit netzlaufwerk verbinden...und wird immer wieder beim systemstart verbunden. Auch wenn ich im explorer das laufwerk schonmal angeklickt habe gehts nicht. in dem shelltreeview sehe ich den laufwerksbuchstaben UND auch die unterordner und wenn ich per opendialog ein file von der platte hinzufüge geht es. Es hat nichts mit dem Thread zu tun. Es ist auch nich so das ich es in manchen programmen sehe und in manchen nicht das hab ich nie gesagt es ist nur so das eben findfirst etc einfach nichts tut null

und das is mein code:

Delphi-Quellcode:
procedure TGetFiles.GetThisFiles(aDir:ShortString; aList, aExt:TStringList);
var
  fd:TWin32FindData;
  fh:THandle;
  i :Integer;
begin
  Priority := tpLower;
  FreeOnTerminate := True;
  if (aDir[Length(aDir)]<>'\') then aDir:=aDir+'\';
    for i:=0 to aExt.Count-1 do
    begin
      fh:=FindFirstFile(PChar(aDir+'*.'+aExt.Strings[i]), fd);
      if (fh<>INVALID_HANDLE_VALUE) then                  //
      repeat
        aList.Add(aDir+StrPas(fd.cFileName));
   until not FindNextFile(fh, fd);
   Windows.FindClose(fh);
  end;
  fh:=FindFirstFile(PChar(aDir+'*.*'), fd);
  if (fh<>INVALID_HANDLE_VALUE) then
   repeat
    if ((fd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)=FILE_ATTRIBUTE_DIRECTORY ) then
    if (StrPas(fd.cFileName)[1]<>'.') then
    GetThisFiles(aDir+StrPas(fd.cFileName)+'\', aList, aExt);
   until not FindNextFile(fh, fd);
  Windows.FindClose(fh);
end;
also es ist einfach nur so das findfirst nicht funzt auf dem laufwerk auf anderen netzlaufwerken geht es nur auf dem iomega lan Hdd ding eben nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 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