[Qtcsharp-patches] Bugtussle/src/static/kylix QtClassesUtils.pas,1.3,1.4
Status: Inactive
Brought to you by:
manyoso
|
From: Andreas H. <ah...@us...> - 2005-06-12 20:53:00
|
Update of /cvsroot/qtcsharp/Bugtussle/src/static/kylix In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4052/src/static/kylix Modified Files: QtClassesUtils.pas Log Message: Index: QtClassesUtils.pas =================================================================== RCS file: /cvsroot/qtcsharp/Bugtussle/src/static/kylix/QtClassesUtils.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** QtClassesUtils.pas 18 Apr 2005 09:32:21 -0000 1.3 --- QtClassesUtils.pas 12 Jun 2005 20:52:51 -0000 1.4 *************** *** 37,40 **** --- 37,43 ---- Windows, {$ENDIF MSWINDOWS} + {$IFDEF LINUX} + Libc, + {$ENDIF LINUX} QtLibrary, Classes, Contnrs; *************** *** 77,82 **** destructor Destroy; override; ! procedure AddSignal(Member: string; const Method); ! procedure AddSlot(Member: string; const Method: TMethod); end; --- 80,85 ---- destructor Destroy; override; ! procedure AddSignal(Member: string; Method: Pointer); ! procedure AddSlot(Member: string; Method: Pointer); end; *************** *** 130,133 **** --- 133,162 ---- function QtCast(ToClass: TCWrapperObjectBaseClass; Instance: TCWrapperObjectBase): Pointer;{TCWrapperObjectBase} overload; + type + PQUType = ^QUType; + QUType = object + end; + + PQUParameter = ^QUParameter; + QUParameter = record + Name: PChar; + Typ: PQUType; + TypeExtra: Pointer; + InOut: (inoutIn = 1, inoutOut = 2, inoutInOut = 1 or 2); + end; + + PQUMethod = ^QUMethod; + QUMethod = record + Name: PChar; + Count: Integer; + Parameters: PQUParameter; + end; + + QMetaData = record + Name: PChar; + Method: PQUMethod; + Access: (aPrivate, aProtected, aPublic); + end; + implementation *************** *** 161,165 **** FInstance := AInstance; FAutoDeleteInstance := AAutoDeleteInstance; ! IntfCastList.Add(AInstance); end; --- 190,195 ---- FInstance := AInstance; FAutoDeleteInstance := AAutoDeleteInstance; ! if AInstance <> nil then ! IntfCastList.Add(AInstance); end; *************** *** 258,262 **** end else ! Result := nil; end; --- 288,292 ---- end else ! Result := TQtCastObject.Create(nil, False); end; *************** *** 273,277 **** TSignalSlotItem = record Member: string; ! Method: TMethod; end; --- 303,307 ---- TSignalSlotItem = record Member: string; ! Method: Pointer; end; *************** *** 282,290 **** destructor TSignalSlotList.Destroy; begin FList.Free; end; ! procedure TSignalSlotList.AddSignal(Member: string; const Method); var N: PSignalSlotItem; --- 312,324 ---- destructor TSignalSlotList.Destroy; + var + i: Integer; begin + for i := 0 to FList.Count - 1 do + Dispose(PSignalSlotItem(FList[i])); FList.Free; end; ! procedure TSignalSlotList.AddSignal(Member: string; Method: Pointer); var N: PSignalSlotItem; *************** *** 295,303 **** New(N); N.Member := Member; ! N.Method := TMethod(Method); end; end; ! procedure TSignalSlotList.AddSlot(Member: string; const Method: TMethod); var N: PSignalSlotItem; --- 329,338 ---- New(N); N.Member := Member; ! N.Method := Method; ! FList.Add(N); end; end; ! procedure TSignalSlotList.AddSlot(Member: string; Method: Pointer); var N: PSignalSlotItem; *************** *** 308,312 **** New(N); N.Member := Member; ! N.Method := TMethod(Method); FList.Add(N); end; --- 343,347 ---- New(N); N.Member := Member; ! N.Method := Method; FList.Add(N); end; |