Hallo Christian,
schön dass Du Dich wenigstens meldest.
Den von Dir angesprochenen Punkt 5 betrifft sicherlich VB oder sowas.
Ich möchte das aber mit Delphi schaffen.
Mein code
Delphi-Quellcode:
unit copy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Rapi;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1 : TForm1;
HSrc,HDes : THandle;
Buffer : Pointer;
BytesToRead,
BytesReading,
BytesWritten : DWord;
o1 : Poverlapped;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Source,Destination:PChar;
begin
CeRapiInit;
HSrc := CreateFile ('
c:\test.txt',Generic_Read ,File_Share_Read ,
nil,Open_Existing,0,0);
HDes := CeCreateFile ('
test.txt',Generic_Write,File_Share_Write,
nil,Create_Always,0,0);
GetMem (Buffer, GetFileSize (HSrc, Buffer));
BytesToRead := GetFileSize (HSrc, Buffer);
ReadFile (HSrc, Buffer^, BytesToRead, BytesReading, @o1);
[B] CeWriteFile (HDes, Buffer^, BytesReading, BytesWritten, @o1);[/B]
CloseHandle (HSrc);
CeCloseHandle (HDes);
CeRapiUnInit;
end;
end.
wenn ich nun die ganze sache anschieben möchte bekomme ich folgenden fehler.
Delphi-Quellcode:
[Fehler] copy.pas(44): Inkompatible Typen: '
procedure, untyped pointer or untyped parameter' und '
Pointer'
[Fataler Fehler] Project1.dpr(6): Verwendete
Unit '
copy.pas' kann nicht compiliert werden
irgendetwas klappt nicht mit den pointer.
setze ich ein @ vor den pointer dann geht es soweit das das file auf dem pocket erstellt wird, aber ohne inhalt.
wenn ich das ganze auf einer normalen umgebung laufen lasse, allso alles ohne ce (cereadfile) dann klappts auch, aber eben nicht richtung pocket oder pc.
selbst ein CeGetFileSize vom pocket pc funzt es wird aber nichts gelesen.
Ich hoffe Du kannst mir nen Tipp zu der fehlermeldung geben.
besten Dank im Voraus