Announcement

Collapse
No announcement yet.

Zugriff auf Pocket-PC über RAPI

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf Pocket-PC über RAPI

    Hallo,

    ich habe folgendes Problem beim Suchen nach Dateien auf PocketPCs:

    Code
    function PocketPCFileExists(const Filename: String): Boolean;
    var
    dwSize,
    dwHandle: DWord;
    FD: PCe_FIND_DATA;
    begin
    CeRapiInit;

    dwSize := SizeOf(FD);
    GetMem(FD, dwSize);

    dwHandle := CeFindFirstFile(PWideChar(WideString(Filename)), FD);

    Result := (dwHandle <> INVALID_HANDLE_VALUE);

    CeFindClose(dwHandle);

    CeCloseHandle(dwHandle);

    FreeMem(FD, SizeOf(FD)); ==> Zugriffsverletzung

    CeRapiUnInit;
    end;

    Bei FreeMem kommt es im Projekt zu einer Zugriffsverletzung, die das gesamte Programm abschießt.

    Benutze ich die Routine in einem Testprojekt (4 Zeile Code), dann funktioniert das einwandfrei.

    Kann sich jemand einen Reim daraus machen, warum das so ist?

    BS: WinXP
    IDE: D5

  • #2
    CeFindClose(dwHandle);
    CeCloseHandle(dwHandle);

    Ist das beides noetig?

    Ansonsten duerfte der Fehler in der Konversion des APIs sitzen.
    Am ehesten ist die Struktur Ce_FIND_DATA nicht gross genug (Alignment-Problem).

    Comment

    Working...
    X