Ich habe eine Unit (Unit 1) Auf dem Form-Feld befinden sich mehrere Buttons, die andere Units mit eingabeformularen aufrufen.
Folgendes Problem tritt auf:
Wenn ich ein Formular über den Button in U1 aufrufe, wieder schließe und dann erneut öffne, tritt beim 2. Schließen Folgender Fehler auf:
Im Projekt Projekt1.exe ist eine Exception der Klasse EInOutError mit der Meldung 'E/A-Fehler 103' aufgetreten.
In einem anderen Thread wurde mir bereits geantwortet:
Wahrscheinlich liegt es hier daran, dass du das Formular beim ersten schließen freigibst und anschließend beim zweiten Aufruf nicht mehr erzeugst (bzw. auf das nicht mehr existente Formular zugreifen willst).
Ich verstehe nur leideer noch nicht, warum der Fehler dann erst beim schließen auftritt und nicht schon beim öffnen. Ich weis auch nicht wie es die Unit neu erzeugen kann. Wäre mir ohnehin lieber, wenn die Unit/das Formular erst geöffnet werden würde, wenn der Button auch gekickt wird.
Gruß Jonas
DANKE VORAB FÜR EURE ANTWORTEN
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TWillkommen = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; procedure Button6Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button1Click(Sender: TObject); private public end;
var Willkommen: TWillkommen;
implementation
uses Unit1,Unit3,Unit4,Unit5;
{$R *.dfm}
procedure TWillkommen.Button1Click(Sender: TObject); begin neuer_artikel.show; end;
procedure TWillkommen.Button5Click(Sender: TObject); begin modulliste.show; end;
procedure TWillkommen.Button3Click(Sender: TObject); begin haendlerliste.show; end;
procedure TWillkommen.Button6Click(Sender: TObject); begin eanziffern.show; end;
end. |
Moderiert von
jasocul: Source aus dem anderen Thread kopiert.