Einzelnen Beitrag anzeigen

torf160

Registriert seit: 20. Sep 2006
Ort: Bad Oldesloe
24 Beiträge
 
Delphi 3 Professional
 
#1

OpenDialog wird in der IDE nicht angezeigt

  Alt 12. Dez 2010, 08:41
Hallo,

ich hoffe, ich habe die richtige Rubrik gewählt.

Mein Programm soll Daten laden. Die Datei wird mit dem OpenDialog ausgewählt.
Das klappt nun aber in der IDE (Delphi 6) nicht mehr, stattdessen erhalte ich eine Fehlermeldung (EExternalException).
Wenn ich das Programm direkt unter Windows starte, also ohne IDE), läuft alles wie es soll.

Was mache ich verkehrt?


hier wird die Routine aufgerufen:
Delphi-Quellcode:
FileSelected := false;
ReadBestellungFromStream;
if FileSelected then
Der Cursor steht nach der Fehlermeldung in der letzten Zeile.

Hier ist die Routine mit dem OpenDialog:
Delphi-Quellcode:
procedure TForm1.ReadBestellungFromStream;
Type TZeile = string[255];
var MyStream : TFileStream;
    MyFileName : string;
    zeile : TZeile;
    i : integer;
begin
  MeinDir := ExtractFilePath(Application.ExeName);
  OpenDialog1.InitialDir := MeinDir;
  if OpenDialog1.Execute then
  begin
    MyFileName := Opendialog1.FileName;
    try
      MyStream := TFileStream.Create(MyFileName, fmOpenRead or fmShareDenyWrite);
    except
      ShowMessage('Fehler beim Öffnen der Datei!');
    end;
    try
      With MyStream do
      begin
        Position := 0;
        ReadBuffer(BestellHeader, SizeOf(TBestellHeader));
        SetLength(Bestellung, BestellHeader.AnzahlArtikel);
        for i := 0 to High(Bestellung) do
        begin
          ReadBuffer(Bestellung[i], SizeOf(TBestellung));
        end;
        MemoInhalt.Clear;
        for i := 1 to BestellHeader.MemoLines do
        begin
          ReadBuffer(Zeile, SizeOf(TZeile));
          MemoInhalt.Append(zeile);
        end;
        FileSelected := true;
      end; // with MyStream do...
    finally
      MyStream.Free;
    end; // try / finally...
  end; // if OpenDialog1...
end;
Schon mal vielen Dank für Eure Mühe.

Thomas

[edit=Matze][code]- durch [delphi]-Tags ersetzt. MfG Matze[/edit]
Thomas Hamdorf

Geändert von Matze (12. Dez 2010 um 08:45 Uhr)
  Mit Zitat antworten Zitat