cracof

Invalid class typecast

Sep 6th, 2011
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.63 KB | None | 0 0
  1. type
  2.   TSegment = class(TObject)
  3.   private
  4.     FId: Integer;
  5.     FNazwa: String;
  6.     FTyp: Integer;
  7.   public
  8.     constructor Create(Aid: Integer; Anazwa: String; Atyp: Integer);
  9.     destructor Destroy;
  10.     property id: Integer read FId write FId;
  11.     property Nazwa: String read FNazwa write FNazwa;
  12.     property typ: Integer read FTyp write FTyp;
  13.   end;
  14.  
  15.   TSegmentList = class(TObjectList)
  16.   private
  17.     function GetItem(aindex: Integer): TSegment;
  18.     procedure SetItem(aindex: Integer; const Value: TSegment);
  19.   public
  20.     constructor Create(AOwner: bool);
  21.     destructor Destroy;
  22.     procedure pobierzSegmenty(Query: TZQuery);
  23.     property Items[aindex: Integer]: TSegment read GetItem
  24.       write SetItem; default;
  25.     function Add(ASegment: TSegment): Integer;
  26.     function FindItem(Anazwa: String): TSegment;
  27.   end;
  28.  
  29. function TSegmentList.FindItem(Anazwa: String): TSegment;
  30. var
  31.   tempSegment: TSegment;
  32.   I: Integer;
  33. begin
  34.   try
  35.   tempSegment := TSegment.Create(-1,'',-1);
  36.   result := tempSegment;
  37.   for I := 0 to self.Count -1 do
  38.     if self.Items[I].Nazwa = Anazwa then
  39.     begin
  40.       FreeAndNil(tempSegment);
  41.       tempSegment := TSegment.Create(self.Items[I].id, self.Items[I].Nazwa,
  42.         self.Items[I].typ);
  43.       //tempSegment := self.Items[i] as TSegment;
  44.       Result := tempSegment;
  45.       break;
  46.     end;
  47.   except
  48.     on e:exception do fmMain.ObsluzBlad(e,'TSegmentList.FindItem','');
  49.   end;
  50. end;
  51.  
  52. {dodano 08/09/2011}
  53.  
  54. function TSegmentList.Add(ASegment: TSegment): Integer;
  55. begin
  56.   Result := inherited Add(ASegment);
  57. end;
  58.  
  59. destructor TSegmentList.Destroy;
  60. begin
  61.   inherited Destroy();
  62. end;
Advertisement
Add Comment
Please, Sign In to add comment