Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
Turbo Delphi für Win32
|
Re: Zugriffsverletzung ??? Ich kappiers nicht!
13. Mai 2004, 20:13
Delphi-Quellcode:
unit Unit2;
interface
uses SysUtils, AgentObjects_TLB;
const
LMax = 2;
type
TCommandAction = (ccTrue, ccFalse, ccNoCommand);
function Inizialize( const Command: String; AgentItem: IAgentCtlCharacterEx): TCommandAction;
function ActCommand(Commands: Array of String; AgentItem: IAgentCtlCharacterEx): TCommandAction;
implementation
function Inizialize( const Command: String; AgentItem: IAgentCtlCharacterEx): TCommandAction;
var
Commands: Array[1..LMax] of String;
i, j: Integer;
begin
j := 0; //Hier ist EIN Fehler, weil der Array bei 1 beginnt, aber der ist anscheiden egal..
if Length(Command) > 0 then
begin
for i := 0 to Length(Command) - 1 do //ARG!! der index eines strings beginnt bei 1 und nicht bei 0!!! aber wieso gibz da keine exception?
if Command[i] <> ' ' then
Commands[j] := Commands[j] + Command[i] //hier, j ist 0 und er schreibt aber anstandslos auf den array, wie das?
else
if j < Lmax then
inc(j)
else
break;
Result := ActCommand(Commands, AgentItem);
end
else
Result := ccFalse;
end;
function ActCommand(Commands: Array of String; AgentItem: IAgentCtlCharacterEx): TCommandAction;
begin
if Commands[1][1] = ' :' then //Hier tritt sie auf.... hm....
begin
result := ccTrue;
end
else
result := ccNoCommand;
end;
end.
hab das ausgebessert. jetzt weiß ich wieso die zugriffsverletzung auftritt, der array ist leer... *gg*
Faux Manuel Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
|
|
Zitat
|