AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zugriff durch Programm von CD (auf Datei) funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff durch Programm von CD (auf Datei) funktioniert nicht

Ein Thema von fwsp · begonnen am 18. Mär 2006 · letzter Beitrag vom 19. Mär 2006
Antwort Antwort
fwsp
(Gast)

n/a Beiträge
 
#1

Zugriff durch Programm von CD (auf Datei) funktioniert nicht

  Alt 18. Mär 2006, 21:37
hallo

ich hab ein da ein projekt, welches ich mit jemanden zusammen entwickel. ich hab da also ein nicht selbst-geschriebenes modul. darin werden fragebögen geladen und dann die fragen gestellt. wenn ich das programm normal auf der festplatte ausführ, klappt es wunderbar. wenn ich das auf ne cd (.iso) mache, kann ich keine fragebögen-dateien mehr öffnen.

da ich das nicht durch debuggen kann, hat jemand ne idee wieso das auf der platte klappt und auf ner cd nicht? es wird beim lese-zugriff doch nicht geschrieben?

danke

der teil wo der öffnen-button geklickt wird.
Delphi-Quellcode:
  if OpenDialog1.Execute then
  begin

    try
      if ExtractFileExt(OpenDialog1.FileName) <> '.mcqthen
        raise EInvalidInsert.Create('Fehler beim Laden der Datei "' + OpenDialog1.FileName + '!');
      Fragebogen.OeffneFragebogen(OpenDialog1.FileName);
    except
      ShowMessage('Fehler beim Laden der Datei ' + OpenDialog1.FileName + '!');
      Exit;
    end;
öffnen prozedur der klasse
Delphi-Quellcode:
  procedure TMCQData.OeffneFragebogen(DateiName: string);
  var
    I: integer;
  begin
    Assign(Datei, DateiName);
    try
      Reset(Datei);
    except
      Rewrite(Datei);
    end;

    SetLength(Fragen, FileSize(Datei));

    I := 0;
    while not(Eof(Datei)) do
     begin
      Read(Datei, Fragen[I]);
      inc(I);
     end;

    Close(Datei);
  end;
  Mit Zitat antworten Zitat
m_junglas

Registriert seit: 4. Apr 2005
Ort: Kaiserslautern
13 Beiträge
 
Delphi 7 Professional
 
#2

Re: Zugriff durch Programm von CD (auf Datei) funktioniert n

  Alt 18. Mär 2006, 22:45
Namt,

ich hatte ein ähnliches Problem, ist aber sehr lange her.
Die Lösung war die globale Variable "FileMode".

Default ist hier "fmOpenReadWrite" (=2) und das löst auch bei einfachen Lesezugriffen einen Fehler bei schreibgeschützten Dateien aus.
Setze es vorher auf "fmOpenRead" (=0) und dann sollte es gehen.

Vielleicht hilft Dir das weiter.
Schau Dir das lieber erstmal nochmal in der Hilfe an.

Tschüss

/\/\arcus
Marcus Junglas
  Mit Zitat antworten Zitat
Benutzerbild von Hepdepaddel
Hepdepaddel

Registriert seit: 12. Dez 2005
Ort: Bremen
91 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Zugriff durch Programm von CD (auf Datei) funktioniert n

  Alt 18. Mär 2006, 22:50
Hi,

mal so aus der Delphi-hilfe zitiert:

---

In Delphi öffnet Reset die in F angegebene externe Datei in dem Modus, der in der globalen Variable FileMode festgelegt ist. Ist keine Datei mit diesem Namen vorhanden oder kann die Datei nicht im aktuellen Dateimodus geöffnet werden, tritt ein Fehler auf. Ist F bereits offen, wird sie zuerst geschlossen und dann erneut geöffnet. Nach dem Öffnen wird der Dateizeiger an den Anfang der Datei gesetzt.

Warnung: Der Standardwert von FileMode ist 2 (Lesen/Schreiben). Auch wenn die Datei nur gelesen werden soll, verursacht der Standardwert von FileMode (Schreib-/Lesezugriff), dass das Öffnen einer schreibgeschützten Datei fehlschlägt.

---

Da hier FileMode nicht gesetzt wurde, wird also ein Schreib-/Lesezugriff versucht, was fehlschlagen muss. Das sollte klappen:


try
FileMode:=fmOpenRead; // READONLY
Reset(Datei);
except
Rewrite(Datei); // DAS WIRD AUF CD IMMER SCHEITERN, LIEBER EINE MELDUNG "BOGEN FEHLT"
end;




Gruß

Mark

---
Zwei bis drei Stunden Trial-and-Error können locker 10 Minuten Handbuch-Studium einsparen
  Mit Zitat antworten Zitat
fwsp
(Gast)

n/a Beiträge
 
#4

Re: Zugriff durch Programm von CD (auf Datei) funktioniert n

  Alt 19. Mär 2006, 10:27
danke sehr, funktioniert wunderbar.
  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 05:18 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