<I><B> Ich habe mich bei dem folgenden Beispiel dafür entschieden eine Klasse mit verschiedenen ARRAY - Feldern zu verwenden, da dies für die weitere Verwendung von Vorteil ist. Jetzt zu meinem Problem...</B></I>
----
<PRE>
const
LaengeKHNummer = 4;
LaengeSatzart = 2;
...
type
TKHNummer = array[1..LaengeKHNummer] of char;
TSatzart = array[1..LaengeSatzart] of char;
...
TStatistik = class
private
FKHNummer: TKHNummer;
FSatzart: TSatzart;
...
procedure SetKHNummer(const Value: TKHNummer);
procedure SetSatzart(const Value: TSatzart);
...
public
...
property KHNummer: TKHNummer read FKHNummer write SetKHNummer;
property Satzart: TSatzart read FSatzart write SetSatzart;
...
end;
TfrmKHStatistik = class(TBForm)
...
procedure actStatistikExecute(Sender: TObject);
...
private
Statistik: TStatistik;
end;
...
procedure TfrmKHStatistik.actStatistikExecute(Sender: TObject);
var
KHNummer: string;
begin
try
Statistik:= TStatistik.Create;
...
KHNummer := dbqStat.FieldByName('IKNUMMER').AsString;
...
Statistik.Clear;
<BR><I><B> Bis hierhin ist noch alles in Ordnung und bei den folgenden Zeilen kommt es zu der Fehlermeldung "UNGÜLTIGE TYPUMWANDLUNG" </B></I><BR>
StrCopy(PChar(Statistik.KHNummer),PChar(KHNummer)) ;
StrCopy(<B>PCHAR(STATISTIK.SATZART)</B>,PChar('90'));
<BR><I><B> Merkwürdigerweise nur bei den ARRAY - Feldern, die eine Länge != 4 haben </B></I><BR>
...
finally
Statistik.Free;
end;
end;
...
procedure TStatistik.SetKHNummer(const Value: TKHNummer);
begin
FKHNummer := Value;
end;
procedure TStatistik.SetSatzart(const Value: TSatzart);
begin
FSatzart := Value;
end;
end.
</PRE>
<I><B> Es wäre echt klasse, wenn mir einer bei dem Problem weiterhelfen könnte</I></B>
----
<PRE>
const
LaengeKHNummer = 4;
LaengeSatzart = 2;
...
type
TKHNummer = array[1..LaengeKHNummer] of char;
TSatzart = array[1..LaengeSatzart] of char;
...
TStatistik = class
private
FKHNummer: TKHNummer;
FSatzart: TSatzart;
...
procedure SetKHNummer(const Value: TKHNummer);
procedure SetSatzart(const Value: TSatzart);
...
public
...
property KHNummer: TKHNummer read FKHNummer write SetKHNummer;
property Satzart: TSatzart read FSatzart write SetSatzart;
...
end;
TfrmKHStatistik = class(TBForm)
...
procedure actStatistikExecute(Sender: TObject);
...
private
Statistik: TStatistik;
end;
...
procedure TfrmKHStatistik.actStatistikExecute(Sender: TObject);
var
KHNummer: string;
begin
try
Statistik:= TStatistik.Create;
...
KHNummer := dbqStat.FieldByName('IKNUMMER').AsString;
...
Statistik.Clear;
<BR><I><B> Bis hierhin ist noch alles in Ordnung und bei den folgenden Zeilen kommt es zu der Fehlermeldung "UNGÜLTIGE TYPUMWANDLUNG" </B></I><BR>
StrCopy(PChar(Statistik.KHNummer),PChar(KHNummer)) ;
StrCopy(<B>PCHAR(STATISTIK.SATZART)</B>,PChar('90'));
<BR><I><B> Merkwürdigerweise nur bei den ARRAY - Feldern, die eine Länge != 4 haben </B></I><BR>
...
finally
Statistik.Free;
end;
end;
...
procedure TStatistik.SetKHNummer(const Value: TKHNummer);
begin
FKHNummer := Value;
end;
procedure TStatistik.SetSatzart(const Value: TSatzart);
begin
FSatzart := Value;
end;
end.
</PRE>
<I><B> Es wäre echt klasse, wenn mir einer bei dem Problem weiterhelfen könnte</I></B>
Comment