Hardlink unter Windows

Rund um die LCL und andere Komponenten
Antworten
Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Hardlink unter Windows

Beitrag von Vbxler »

Ich habe ein Beispiel für Hardlink gefunden unter:
http://www.freepascal.org/docs-html/rtl ... plink.html
Ich gehe davon aus, dass ich fplink unter Windows verwenden kann.
Ich habe eine Konsolenanwendung erstellt und folgenden Code eingegeben:

Code: Alles auswählen

program project1;
 {$mode objfpc}{$H+}
 uses
  Classes,BaseUnix  ;
 Var F : Text;
    S : String;
begin
  Assign (F,'test.txt');
  Rewrite (F);
  Writeln (F,'This is written to test.txt');
  Close(f);
 
  { new.txt and test.txt are now the same file }
  if fpLink ('test.txt','new.txt')<>0 then
    writeln ('Error when linking !')
  else
    WriteLn('hardlink erstellt');
  ReadLn;
end.    
Die BaseUnix kann ich nicht zu uses hinzufügen, daher habe ich unter
Projekteinstellungen 'Andere Units'(-Fu) den Pfad zu \unix hinzugefügt, dann steht die BaseUnix
zur Verfügung, aber es gibt viele Meldungen, das diverse *.inc Dateien fehlen:
ctypes.inc, ptypes.inc, ....

Muss ich jetzt all diese Dateien von Hand zum Projekt hinzufügen, bzw wie macht man das richtig?

Danke
Vbxler
-------------------------

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Hardlink unter Windows

Beitrag von theo »

Warum nimmst du an, dass Unix Spezifisches auf Windows läuft?

Ich würde es damit versuchen: https://msdn.microsoft.com/en-us/librar ... 85%29.aspx

uses JwaWindows;

Vbxler
Beiträge: 129
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Hardlink unter Windows

Beitrag von Vbxler »

Warum nimmst du an, dass Unix Spezifisches auf Windows läuft?
Weil in der offiziellen FP-Referenz kein Hinweis darüber zu finden ist,
für welche Zielplattform die unit verwendet werden kann.

Aber Danke für den Hinweis, ich werde mir das anschauen.
Vbxler
-------------------------

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Hardlink unter Windows

Beitrag von theo »

Vbxler hat geschrieben:
Warum nimmst du an, dass Unix Spezifisches auf Windows läuft?
Weil in der offiziellen FP-Referenz kein Hinweis darüber zu finden ist,
für welche Zielplattform die unit verwendet werden kann.
Naja, wenn die enthaltende Unit "baseunix" heisst, könnte man das schon als Hinweis betrachten. :wink:
http://www.freepascal.org/docs-html/rtl ... index.html

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Hardlink unter Windows

Beitrag von mschnell »

Vbxler hat geschrieben:Ich habe ein Beispiel für Hardlink gefunden unter:
Abgesehen davon, dass baseunix natürlich unter Windows nicht zur Verfügung steht (und in der fpc Library keine Betriebssystem-unabhängige Enkapsulieruing für die Verwaltung von Hardlinks existiert, gibt es Hardlinks auchin vielen Dateisystem gar nicht.

Alle "ext" Filesystem können Hardlinks (und Softlinks)
Alle "FAT" Filesysteme können keine Hardlinks (und keine Softlinks)
"Alte" NTFS Filesystem können keine Hardlinks (und keine Softlinks)
"Neue" NTFS Filesysteme können Hardlinks (und Softlinks) sie funktionieren aber nicht genauso wie bei "EXT".

-Michael

Antworten