Hier ist auf die Schnelle mein Lösungsvorschlag:
Die
Unit der den Type beinhält, aber in einer Klasse versteckt.
Code:
unit UnitTypeClass;
interface
type
TTypeClass = class
type
TModemResult = (mrNIL, mrError, mrOkay, mrPrompt, mrTimeOut);
end;
implementation
end.
Hier die
Unit mit der Klasse, die nur der Anwender nutzen soll.
Code:
unit UnitUserClass;
interface
uses
UnitTypeClass;
type
TUserClass = class(TTypeClass)
private
FModemResult: TTypeClass.TModemResult;
public
property ModemResult: TTypeClass.TModemResult read FModemResult write FModemResult;
end;
implementation
end.
Und schlussendlich das Anwenden der User Klasse.
Code:
uses
UnitUserClass;
procedure TMainForm.ButtonTestClick(Sender: TObject);
var
UserClass: TUserClass;
begin
UserClass := TUserClass.Create;
try
UserClass.ModemResult := TUserClass.TModemResult.mrNIL;
finally
UserClass.Free;
end;
end;
Das Ganze noch einmal als fertiges Projekt zum Runterladen.