AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi IOResult ohne Schreibrechte auf EXE Pfad???
Thema durchsuchen
Ansicht
Themen-Optionen

IOResult ohne Schreibrechte auf EXE Pfad???

Ein Thema von mrose · begonnen am 21. Feb 2005 · letzter Beitrag vom 24. Feb 2005
Antwort Antwort
mrose

Registriert seit: 21. Feb 2005
22 Beiträge
 
#1

IOResult ohne Schreibrechte auf EXE Pfad???

  Alt 21. Feb 2005, 14:54
Hallo!

In einer Routine versuche ich ein RichEdit nicht über die Methode LoadFromFile mit den Inhalten einer Textdatei zu laden, da ich ständig große Dateien hatte und mir diese Methode dann immer einfach die Datei abgeschnitten hat. Nun habe ich eine eigene Routie in dem Stil (bei mir macht sie noch etwas mehr) geschrieben:


Delphi-Quellcode:
  procedure LoadRichEdit(var RichEdit:TRichEdit; FileNameRich:String);

  begin
    {$I-}
    // clear richedit
    Richedit.Lines.Clear;
    // open file to load
    AssignFile(xTmpFile,FileNameRich);
    Reset(xTmpFile);
    if IOResult = 0 then
    begin
      while not(eof(xTmpFile)) do
      begin
        // read one line
        readln(xTmpFile,sTempLine);
        RichEdit.Lines.Add(sTempLine);
      end;
      CloseFile(xTmpFile);
    end;
    RichEdit1.SelStart := 0;
    RichEdit1.Sellength := 0;
    {$I+}
  end;
Das funktioniert auch hervorragend, solange der eingeloggte Benutzer Schreibrechte auf die Directory hat, in welcher sich meine Programmexe befindet. Das zu lesende File befindet sich aber NICHT an diesem Platz. Gehe ich mit dem Debugger schrittweise durch das Programm, dann scheint es, das das IOResult immer <> 0 ist, sobald die Schreibrechte auf die Programmexe Directory abgeschaltet sind.

Kann mir bitte jemand erklären, was ich falsch mache??? Vielleicht bin ich ja auch nur zu blind.... Vielen Dank schon mal!

Matthias.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: IOResult ohne Schreibrechte auf EXE Pfad???

  Alt 21. Feb 2005, 15:06
Delphi-Referenz durchsuchenReset öffnet die Datei immer mit Lese- und Schreibrechten. Setze vor die Variable Delphi-Referenz durchsuchenFileMode entsprechend.

BTW kann ich dein Problem micht nachvollziehen. Und wenn dann würde ich es mit Delphi-Referenz durchsuchenLoadFromStream probieren, anstatt dieser veralteten Pascal Methode.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: IOResult ohne Schreibrechte auf EXE Pfad???

  Alt 21. Feb 2005, 17:37
Moin!

Und beachten das bei eingeschalteter IO Überprüfung er eine Exception schmeisst anstatt IOResult zu setzen!

/EDIT: Sehe gerade das du es für die gesamte Routine abgeschaltet hast.

MfG
Muetze1
  Mit Zitat antworten Zitat
mrose

Registriert seit: 21. Feb 2005
22 Beiträge
 
#4

Re: IOResult ohne Schreibrechte auf EXE Pfad???

  Alt 23. Feb 2005, 20:29
Sorry, ich bin doch blind. Naürlich funktioniert der Code richtig. Mein Problem lag an einer ganz anderen Stelle. Das IOResult ist global und eine andere Routine in einer anderen Unit der Application erzeugt, leider so ziemlich zur selben Zeit, ein IO Problem und damit wird mir das IOResult verbogen..... Nachdem ich das identifiziert und gefixt hatte lief alles...
Danke auf jeden Fall für die Hilfe!

Matthias.

P.S.:
Buy a computer today and get the thrill of making your own errors - electronically...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: IOResult ohne Schreibrechte auf EXE Pfad???

  Alt 24. Feb 2005, 14:20
Zitat von mrose:
Das IOResult ist global und eine andere Routine in einer anderen Unit der Application erzeugt, leider so ziemlich zur selben Zeit, ein IO Problem und damit wird mir das IOResult verbogen
Nach dem du gesehen hast, was solche gloabalen Deklarationen anrichten können, hoffe ich, dass du das ganz fix geändert hast.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 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