On Wed, 23 Jan 2008, Bee wrote:
> Hi all, > > I got problem with the code below. > > --->8--- begin code --->8--- > > program test_intf_query; > > {$IFDEF FPC} > {$MODE OBJFPC}{$H+} > {$ENDIF} > > uses > Classes; > > type > TPLFieldType = (plftUnknown, plftString, plftSmallint, plftInteger, > plftWord, plftBoolean, plftFloat, plftCurrency, plftBCD, plftDate, > plftTime, plftDateTime, plftBytes, plftVarBytes, plftAutoInc, > plftBlob, plftMemo, plftGraphic, plftFmtMemo, plftParadoxOle, > plftDBaseOle, plftTypedBinary, plftCursor, plftFixedChar, > plftWideString, plftLargeint, plftADT, plftArray, plftReference, > plftDataSet, plftOraBlob, plftOraClob, plftVariant, plftInterface, > plftIDispatch, plftGuid, plftTimeStamp, plftFMTBcd, > plftFixedWideChar, plftWideMemo, plftOraTimeStamp, plftOraInterval); > > ISimple = interface > ['{24811FF3-4F01-4601-AC5C-22A5B5D46928}'] > function ShowSomething: Integer; cdecl; > function GetIsBlob: Boolean; cdecl; > end; > > TSimple = class(TInterfacedObject, ISimple) > private > FDataType: TPLFieldType; > protected > { ISimple implementation } > function ShowSomething: Integer; cdecl; > function GetIsBlob: Boolean; cdecl; > end; > > { query ISimple } > function QuerySimple(const OnChange: TNotifyEvent = nil): ISimple; > cdecl; > begin > Result := TSimple.Create; > end; > > {*** TSimple ***} > > function TSimple.ShowSomething: Integer; cdecl; > begin > Writeln('Message from ISimple'); > Result := 0; > end; > > function TSimple.GetIsBlob: Boolean; cdecl; > begin > Result := FDataType in [ > plftBytes, plftVarBytes, plftBlob, plftMemo, plftGraphic, > plftFmtMemo, plftParadoxOle, plftDBaseOle, plftTypedBinary, > plftOraClob, plftOraClob, plftWideMemo You have plftOraClob, plftOraClob 2 times the same element. This is not allowed. Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal