Felipe Monteiro de Carvalho wrote: > Hello, > > I was trying to split the o-o wrappers around Qt procedural wrappers > in 2 parts. One that depends on Lazarus and another that can be used > with only Free Pascal. > > So I have some classes like this: > > TQtWidget = class(TObject) > > TQtFrame = class(TQtWidget) > > Both classes contain mixed code for accessing Qt functions and > procedures specific for Lazarus, like Event loops, methods that > receive lazarus classes, methods to receive event signals, etc. > > So I would now have, after splitting: > > For pure Qt: > > TQtWidget = class(TObject) > > TQtFrame = class(TQtWidget) > > And for laz parts: > > TLazQtWidget = class(TObject) > > TLazQtFrame = class(TLazQtWidget, TQtFrame) > > The problem is that on TLazQtFrame I would like to inherit all > functions from a normal TQtFrame, but I would also like to inherit all > functions from TLazQtWidget. > > How can I work around this? I mean, how can I redesign my idea to make > it work with FP? > > Note that Qt requires that all methods to receive events, and signals > be from objects (I cannot use a procedure to receive events).
Use the TQt class tree as a private for the TQtWS class tree. The Qt tree doesn't have to match 1:1 to the WS tree. (exactly this problem made me inplement the virtusl classes :) Marc _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal