Hi,
also deine Probleme kann ich überhaupt nicht nachvollziehen
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 =
class(TForm)
edFilename: TEdit;
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
sr: tSearchrec;
ierr: integer;
begin
Memo1.Clear;
ierr := FindFirst(edFilename.text, faAnyfile - faDirectory, sr);
while ierr = 0
do
begin
if (sr.
name <> '
.')
and (sr.
name <> '
..')
then
begin
Memo1.Lines.Add(sr.
name + '
: sr.size=' + IntToStr(sr.size)
+ '
, w32finddata.size='
+ IntToStr(int64(sr.FindData.nFileSizeHigh)
shl 32
+ sr.FindData.nFileSizeLow));
end;
ierr := FindNext(sr);
end;
FindClose(sr);
end;
end.
Werf mal ein TEdit ein TMemo und einen TButton auf ein Form.
Nenn das TEdit edFilename (warum ich das umbenannt hab, keine Ahnung)
Dann kannst du im Editfeld deinen Pfad eingeben, und auf den Button klicken, das Memo zeigt das Inhaltsverzeichnis mit den Dateigrößen aus dem Searchrecord und aus den Finddata.
Ich hab das bei mir getestet und das funktioniert einwandfrei.
Endweder ist deine Freigabe keine Freigabe, oder du hast keine Rechte auf dieser Freigabe. Das würde ich dann mal mit einem einfachen Dir in der Dos-Box testen.
Mit \\
localhost\ geht das nicht, das ist aber auch klar, da dein Rechner ja nicht
localhost heist. Gib den lokalen Rechnernamen an, dann geht das wieder. Und nebenbei: der Laufwerksbuchstabe hat in einem
UNC Pfad gar nix zu suchen.
Gruss