Keith: Fixed compilation problem and some bugs

git-svn-id: trunk@588 -
This commit is contained in:
lazarus 2002-01-12 22:01:58 +00:00
parent a91d8446f3
commit 95234d77e0

View File

@ -30,6 +30,7 @@ Destructor TWin32Object.Destroy;
Var Var
I: Integer; I: Integer;
Begin Begin
Assert(False, 'Trace:TWin32Object is being destroyed');
FMessageQueue.Free; FMessageQueue.Free;
FDeviceContexts.Free; FDeviceContexts.Free;
FGDIObjects.Free; FGDIObjects.Free;
@ -343,13 +344,13 @@ Begin
GetPixel(Sender, Data); GetPixel(Sender, Data);
LM_SHOWHIDE: LM_SHOWHIDE:
Begin Begin
Assert(False, Format('Trace: [TWin32Object.IntSendMessage3] %s --> Show/Hide', [Sender.ClassNAme])); Assert(False, Format('Trace: [TWin32Object.IntSendMessage3] %s --> Show/Hide', [Sender.ClassName]));
ShowHide(Sender); ShowHide(Sender);
End; End;
LM_SETCURSOR: LM_SETCURSOR:
SetCursor(Sender); SetCursor(Sender);
LM_SETLABEL: LM_SETLABEL:
SetLabel(Sender,Data); SetLabel(Sender, Data);
LM_GETVALUE: LM_GETVALUE:
Result := GetValue(Sender, Data); Result := GetValue(Sender, Data);
LM_SETVALUE: LM_SETVALUE:
@ -379,15 +380,18 @@ Begin
LM_ADDCHILD: LM_ADDCHILD:
Begin Begin
Assert(False, 'Trace:Adding a child to Parent'); Assert(False, 'Trace:Adding a child to Parent');
If (TWinControl(Sender).Parent is TToolbar) then If (TWinControl(Sender).Parent is TToolbar) Then
Begin Begin
Exit; Exit;
End End
Else Else
Begin Begin
AParent := (Sender as TWinControl).Parent; AParent := (Sender as TWinControl).Parent;
Assert(False, Format('Trace:[TWin32Object.IntSendMessage3] %s --> Calling Add Child: %s', [AParent.ClassName, Sender.ClassName])); With (Sender As TWinControl) Do
AddChild((Sender as TWinControl).Parent.Handle, Handle, (Sender as TWinControl).Parent.Left, (Sender as TWinControl).Parent.Top); Begin
Assert(False, Format('Trace:[TWin32Object.IntSendMessage3] %S --> Calling Add Child: %S', [Parent.ClassName, ClassName]));
AddChild(Parent.Handle, Handle, Parent.Left, Parent.Top);
End;
End; End;
End; End;
LM_LV_DELETEITEM: LM_LV_DELETEITEM:
@ -469,12 +473,12 @@ Begin
//SH: think of TBitmap.handle!!!! //SH: think of TBitmap.handle!!!!
LM_LOADXPM: LM_LOADXPM:
Begin Begin
If (Sender is TBitmap) then If (Sender is TBitmap) Then
Begin Begin
Assert(False, Format('Trace:Bitmap name: %S', [StrPas(Data)])); Assert(False, Format('Trace:Bitmap name: %S', [StrPas(Data)]));
SData := String(Data); //SData := String(Data);
NormalizeIconName(SData); NormalizeIconName(Data);
Data := PChar(SData); //Data := PChar(SData);
Bitmap := LoadImage(0, LPCTSTR(Data), IMAGE_ICON, 0, 0, LR_DefaultSize Or LR_LoadFromFile); Bitmap := LoadImage(0, LPCTSTR(Data), IMAGE_ICON, 0, 0, LR_DefaultSize Or LR_LoadFromFile);
Assert(False, 'Trace:1'); Assert(False, 'Trace:1');
If Bitmap = HBITMAP(Nil) Then If Bitmap = HBITMAP(Nil) Then
@ -525,7 +529,10 @@ activate_time : the time at which the activation event occurred.
End; End;
LM_SETSIZE: LM_SETSIZE:
Begin Begin
ResizeChild(Sender, PRect(Data)^.Left, PRect(Data)^.Top, PRect(Data)^.Right, PRect(Data)^.Bottom); If Sender Is TWinControl Then
With (Sender As TWinControl), PRect(Data)^ Do
If HandleAllocated Then
ResizeChild(Handle, Left, Top, Right, Bottom);
End; End;
LM_SHOWMODAL: LM_SHOWMODAL:
Begin Begin
@ -621,12 +628,12 @@ activate_time : the time at which the activation event occurred.
End End
Else Else
Begin Begin
raise Exception.Create('Can not assign this control to the toolbar'); Raise Exception.Create('Can not assign this control to the toolbar');
exit; Exit;
End; End;
Num := TToolbar(TWinControl(Sender).Parent).Buttonlist.IndexOf(TControl(Sender)); Num := TToolbar(TWinControl(Sender).Parent).Buttonlist.IndexOf(TControl(Sender));
if num < 0 Then If Num < 0 Then
Num := TToolbar(TWinControl(Sender).Parent).Buttonlist.Count + 1; Num := TToolbar(TWinControl(Sender).Parent).Buttonlist.Count + 1;
Assert(False, Format('Trace:Num = %d in LM_INSERTTOOLBUTTON', [Num])); Assert(False, Format('Trace:Num = %d in LM_INSERTTOOLBUTTON', [Num]));
@ -699,7 +706,7 @@ activate_time : the time at which the activation event occurred.
LM_GETTEXT : LM_GETTEXT :
Begin Begin
Assert (true, 'WARNING:[TWin32Object.IntSendMessage3] usage of LM_GETTEXT superfluous, use interface-function GetText instead'); Assert (true, 'WARNING:[TWin32Object.IntSendMessage3] usage of LM_GETTEXT superfluous, use interface-function GetText instead');
Result := integer (nil); Result := Integer(Nil);
End; End;
LM_GETITEMINDEX : LM_GETITEMINDEX :
Begin Begin
@ -798,12 +805,12 @@ activate_time : the time at which the activation event occurred.
Result := Windows.SendMessage(Handle, LB_GETSEL, WParam(Data), 0); Result := Windows.SendMessage(Handle, LB_GETSEL, WParam(Data), 0);
End End
End; End;
LM_SETLIMITTEXT : LM_SETLIMITTEXT:
Begin Begin
If (Sender Is TControl) Then If (Sender Is TControl) Then
SetLimitText(Handle, Word(Data^)); SetLimitText(Handle, Word(Data^));
End; End;
LM_SORT : LM_SORT:
Begin Begin
If (Sender Is TControl) And Assigned(Data) Then If (Sender Is TControl) And Assigned(Data) Then
Begin Begin
@ -938,7 +945,7 @@ Begin
{$IFDEF VER1_1} {$IFDEF VER1_1}
List := TMsgArray(GetProp(Window, 'MsgList')); List := TMsgArray(GetProp(Window, 'MsgList'));
List := Nil; Pointer(List) := Nil;
SetProp(Window, 'MsgList', Pointer(List)); SetProp(Window, 'MsgList', Pointer(List));
{$ENDIF} {$ENDIF}
End; End;
@ -956,10 +963,10 @@ Var
Begin Begin
While True Do While True Do
Begin Begin
RetVal := PeekMessage(FMessage, FParentWindow, 0, 0, PM_Remove); RetVal := PeekMessage(FMessage, HWND(Nil), 0, 0, PM_Remove);
With FMessage Do With FMessage Do
Begin Begin
If (RetVal = True) And ((Message <> 0) Or ((WParam <> 0) And (LParam <> 0))) Then If RetVal And ((Message <> 0) Or ((WParam <> 0) And (LParam <> 0))) Then
SendMessage(HWnd, Message, WParam, LParam) SendMessage(HWnd, Message, WParam, LParam)
Else Else
Break; Break;
@ -997,14 +1004,19 @@ End;
Passes execution control to Windows Passes execution control to Windows
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
Procedure TWin32Object.WaitMessage; Procedure TWin32Object.WaitMessage;
Var
RetVal: Boolean;
Begin Begin
Assert(False, 'TRACE:TWin32Object.WaitMessage - Start'); Assert(False, 'TRACE:TWin32Object.WaitMessage - Start');
While True Do Repeat
RetVal := PeekMessage(FMessage, HWND(Nil), 0, 0, PM_REMOVE);
Assert(False, Format('Trace:TWin32Object.WaitMessage --> %S', [WM_To_String(FMessage.Message)]));
If FMessage.Message = WM_QUIT Then
Begin Begin
PeekMessage(FMessage, HWND(Nil), 0, 0, PM_Remove); Assert(False, 'Trace:TWin32Object.WaitMessage - got quit message; exiting the application');
If FMessage.Message <> 0 Then Halt(FMessage.WParam);
Break;
End; End;
Until RetVal;
Assert(False, 'TRACE:TWin32Object.WaitMessage - Exit'); Assert(False, 'TRACE:TWin32Object.WaitMessage - Exit');
End; End;
@ -1015,10 +1027,17 @@ End;
Tells Windows to halt and destroy Tells Windows to halt and destroy
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
procedure TWin32Object.AppTerminate; Procedure TWin32Object.AppTerminate;
Var
Handle: HWND;
Begin Begin
Assert(False, 'Trace:TWin32Object.AppTerminate - Start');
StrDispose(FormClassName); StrDispose(FormClassName);
DestroyWindow(FMainForm.Handle); If Application.MainForm <> Nil Then
Handle := Application.MainForm.Handle
Else
Handle := FMainForm.Handle;
DestroyWindow(Handle);
End; End;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -1037,7 +1056,7 @@ begin
If Sender Is TWinControl Then If Sender Is TWinControl Then
With Sender As TWinControl Do With Sender As TWinControl Do
Begin Begin
If (Length(Hint) > 0)And (ShowHint or (csDesigning in ComponentState)) Then If (Length(Hint) > 0) And (ShowHint or (csDesigning in ComponentState)) Then
Begin Begin
StrTemp := StrAlloc(Length(Hint) + 1); StrTemp := StrAlloc(Length(Hint) + 1);
Try Try
@ -1051,7 +1070,7 @@ begin
LPSzText := StrTemp; LPSzText := StrTemp;
End; End;
Assert(False, 'TRACE:Updating the hint to ' + StrPas(StrTemp)); Assert(False, 'TRACE:Updating the hint to ' + StrPas(StrTemp));
SendMessage(FToolTipWindow, TTM_UPDATETIPTEXT, 0, LPARAM(@ti)); SendMessage(FToolTipWindow, TTM_UPDATETIPTEXT, 0, LPARAM(@TI));
Finally Finally
StrDispose(StrTemp); StrDispose(StrTemp);
End; End;
@ -1060,11 +1079,11 @@ begin
Begin Begin
With TI Do With TI Do
Begin Begin
CbSize := SizeOf(ti); CbSize := SizeOf(TI);
HWnd := Handle; HWnd := Handle;
LPSzText := Nil; LPSzText := Nil;
End; End;
SendMessage(FToolTipWindow, TTM_UPDATETIPTEXT, 0, LPARAM(@ti)); SendMessage(FToolTipWindow, TTM_UPDATETIPTEXT, 0, LPARAM(@TI));
End; End;
End; End;
End; End;
@ -1090,10 +1109,10 @@ Begin
AParent := TWinControl(Sender).Parent; AParent := TWinControl(Sender).Parent;
AParent.RemoveControl(TControl(Sender)); AParent.RemoveControl(TControl(Sender));
TWincontrol(Sender).Parent := Nil; TWinControl(Sender).Parent := Nil;
TWincontrol(Sender).Parent := AParent; TWinControl(Sender).Parent := AParent;
ResizeChild(Sender, TWinControl(Sender).Left, TWinControl(Sender).Top, TWinControl(Sender).Width, TWinControl(Sender).Height); ResizeChild(TWinControl(Sender).Handle, TWinControl(Sender).Left, TWinControl(Sender).Top, TWinControl(Sender).Width, TWinControl(Sender).Height);
ShowHide(Sender); ShowHide(Sender);
Result := 0; Result := 0;
@ -1110,7 +1129,7 @@ End;
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
Function TWin32Object.WinRegister: Boolean; Function TWin32Object.WinRegister: Boolean;
Var Var
WindowClass : WndClass; WindowClass: WndClass;
Begin Begin
Assert(False, 'Trace:WinRegister - Start'); Assert(False, 'Trace:WinRegister - Start');
With WindowClass Do With WindowClass Do
@ -1123,7 +1142,7 @@ Begin
HIcon := LoadIcon(0, IDI_Application); HIcon := LoadIcon(0, IDI_Application);
HCursor := LoadCursor(0, IDC_Arrow); HCursor := LoadCursor(0, IDC_Arrow);
HBrBackground := GetSysColorBrush(Color_BtnFace); HBrBackground := GetSysColorBrush(Color_BtnFace);
LPSzMenuName := nil; LPSzMenuName := Nil;
LPSzClassName := ClsName; LPSzClassName := ClsName;
End; End;
Result := Windows.RegisterClass(@WindowClass) <> 0; Result := Windows.RegisterClass(@WindowClass) <> 0;
@ -1169,6 +1188,15 @@ Begin
End End
End; End;
Procedure TWin32Object.NormalizeIconName(Var IconName: PChar);
Var
Str: String;
Begin
Str := String(IconName);
NormalizeIconName(Str);
IconName := StrToPChar(Str);
End;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Method: TWin32Object.SetLimitText Method: TWin32Object.SetLimitText
Params: Window - The window that has the text to be limited Params: Window - The window that has the text to be limited
@ -1180,13 +1208,14 @@ End;
Procedure TWin32Object.SetLimitText(Window: HWND; Limit: Word); Procedure TWin32Object.SetLimitText(Window: HWND; Limit: Word);
Var Var
Cls: PChar; Cls: PChar;
Msg: Word; Msg: Cardinal;
Str: String;
Begin Begin
GetClassInfo(Window, Cls, 5); GetClassInfo(Window, @Cls, 5);
String(Cls) := LowerCase(String(Cls)); Str := LowerCase(String(PChar(@Cls)));
If Cls = 'edit' Then If Str = 'edit' Then
Msg := CB_LIMITTEXT Msg := CB_LIMITTEXT
Else If Cls = 'combo' Then Else If Str = 'combo' Then
Msg := EM_LIMITTEXT Msg := EM_LIMITTEXT
Else Else
Exit; Exit;
@ -1194,10 +1223,10 @@ Begin
SendMessage(Window, Msg, Limit, 0); SendMessage(Window, Msg, Limit, 0);
SetProp(Window, 'LIMIT_TEXT', @Limit); SetProp(Window, 'LIMIT_TEXT', @Limit);
If WndList.IndexOf(@Window) = -1 Then If WndList.IndexOf(Pointer(Window)) = -1 Then
Begin Begin
WndList.Capacity := WndList.Count; WndList.Capacity := WndList.Count;
WndList.Add(@Window); WndList.Add(Pointer(Window));
End; End;
End; End;
@ -1325,19 +1354,19 @@ End;
Resize a window Resize a window
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
Procedure TWin32Object.ResizeChild(Sender: TObject; Left, Top, Width, Height: Integer); Procedure TWin32Object.ResizeChild(Window: HWND; Left, Top, Width, Height: Integer);
Var Var
Handle: HWND; Handle: HWND;
R: TRect; R: TRect;
Begin Begin
Handle := (Sender As TWinControl).Handle; //Handle := (Sender As TWinControl).Handle;
If GetParent(Handle) <> HWND(Nil) Then //If Handle <> HWND(Nil) Then
MoveWindow(Handle, Left, Top, Width, Height, True) MoveWindow(Window, Left, Top, Width, Height, True)
Else {Else
Begin Begin
GetClientRect(Handle, R); GetClientRect(Handle, R);
MoveWindow(Handle, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, True); MoveWindow(Handle, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, True);
End; End;}
End; End;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -1356,8 +1385,8 @@ Begin
Assert(False, 'Trace:AddChild - Parent Window Handle is $' + IntToHex(LongInt(Parent), 8)); Assert(False, 'Trace:AddChild - Parent Window Handle is $' + IntToHex(LongInt(Parent), 8));
Assert(False, 'Trace:AddChild - Child Window Handle is $' + IntToHex(LongInt(Child), 8)); Assert(False, 'Trace:AddChild - Child Window Handle is $' + IntToHex(LongInt(Child), 8));
SetParent(Child, Parent); SetParent(Child, Parent);
GetClientRect(Parent, R); //GetClientRect(Parent, R);
MoveWindow(Child, Left, Top, R.Right - Left, R.Bottom - Top, True); //MoveWindow(Child, Left, Top, R.Right - Left, R.Bottom - Top, True);
End; End;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -1395,7 +1424,7 @@ End;
Changes the form's default background color Changes the form's default background color
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
Procedure TWin32Object.SetColor(Sender : TObject); Procedure TWin32Object.SetColor(Sender: TObject);
Var Var
DC: HDC; DC: HDC;
Begin Begin
@ -1461,8 +1490,7 @@ Begin
Window := HWND(Nil); Window := HWND(Nil);
Assert(False, 'Trace:Setting window'); Assert(False, 'Trace:Setting window');
If Sender Is TWinControl Then If (Sender Is TWinControl) And ((Sender As TWinControl).Parent <> Nil) Then
If (Sender As TWinControl).Parent <> Nil Then
Begin Begin
Parent := (Sender As TWinControl).Parent.Handle; Parent := (Sender As TWinControl).Parent.Handle;
Assert(False, 'Trace:Setting parent'); Assert(False, 'Trace:Setting parent');
@ -1619,8 +1647,9 @@ Begin
csFixed: csFixed:
Begin Begin
Assert(False, 'Trace:TODO: Figure out what component style csFixed is and code the component. No component created.'); Assert(False, 'Trace:TODO: Figure out what component style csFixed is and code the component. No component created.');
TControl(Sender).FCompStyle := csScrolledWindow; Window := CreateWindow(ClsName, StrTemp, WS_OVERLAPPEDWINDOW Or WS_HSCROLL Or WS_VSCROLL, Left, Top, Width, Height, Parent, HMENU(Nil), HInstance, Nil);
IntSendMessage3(LM_CREATE, Sender, Nil); SetProp(Window, 'Lazarus', @Sender);
SetName(Window, StrTemp);
End; End;
csFont: csFont:
Begin Begin
@ -1633,11 +1662,20 @@ Begin
csForm: csForm:
Begin Begin
Assert(False, 'Trace:CreateComponent - Creating a Form Window'); Assert(False, 'Trace:CreateComponent - Creating a Form Window');
Window := CreateWindow(ClsName, StrTemp, WS_OverlappedWindow, CW_UseDefault, CW_UseDefault, CW_UseDefault, CW_UseDefault, HWnd(Nil), HMENU(Nil), HInstance, Nil); If Left = 0 Then
Left := CW_USEDEFAULT;
If Top = 0 Then
Top := CW_USEDEFAULT;
If Width = 0 Then
Width := CW_USEDEFAULT;
If Height = 0 Then
Width := CW_USEDEFAULT;
Window := CreateWindow(ClsName, StrTemp, WS_OVERLAPPEDWINDOW, Left, Top, Width, Height, Parent, HMENU(Nil), HInstance, Nil);
If Sender Is TForm Then If Sender Is TForm Then
OldClipboardViewer := SetClipboardViewer(Window); OldClipboardViewer := SetClipboardViewer(Window);
FParentWindow := Window; If FMainForm = Nil Then
FMainForm := TForm(Sender); FMainForm := TForm(Sender);
FParentWindow := Window;
Assert(False, 'Trace:CreateComponent - Form Window Handle Value = $' + IntToHex(Window, 8)); Assert(False, 'Trace:CreateComponent - Form Window Handle Value = $' + IntToHex(Window, 8));
Assert(False, 'Trace:Creating a Form - SetProp'); Assert(False, 'Trace:Creating a Form - SetProp');
//SetProp(Window, 'Lazarus', @Sender); //SetProp(Window, 'Lazarus', @Sender);
@ -1695,7 +1733,7 @@ Begin
End; End;
csMemo: csMemo:
Begin Begin
Assert(False, 'Creating a MEMO...'); Assert(False, 'Trace:TWin32Object.CreateComponent - Creating a MEMO...');
Flags := Flags Or ES_AUTOHSCROLL Or ES_AUTOVSCROLL Or ES_MULTILINE; Flags := Flags Or ES_AUTOHSCROLL Or ES_AUTOVSCROLL Or ES_MULTILINE;
If (Sender As TMemo).ReadOnly Then If (Sender As TMemo).ReadOnly Then
Flags := Flags Or ES_ReadOnly; Flags := Flags Or ES_ReadOnly;
@ -1707,7 +1745,7 @@ Begin
ssBoth: ssBoth:
Flags := Flags Or WS_HSCROLL Or WS_VSCROLL; Flags := Flags Or WS_HSCROLL Or WS_VSCROLL;
End; End;
Window := CreateWindow('EDIT', StrTemp, Flags, Left, Top, Width, Height, Parent, HMENU(Nil), HInstance, Nil); Window := CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT', StrTemp, Flags, Left, Top, Width, Height, Parent, HMENU(Nil), HInstance, Nil);
SetProp(Window, 'Lazarus', @Sender); SetProp(Window, 'Lazarus', @Sender);
SetName(Window, StrTemp); SetName(Window, StrTemp);
End; End;
@ -1906,7 +1944,7 @@ Begin
StrDispose(StrTemp); StrDispose(StrTemp);
Assert(False, 'Trace:Leaving CreateComponent'); Assert(False, 'Trace:Leaving CreateComponent');
end; End;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Method: TWin32Object.GetLabel Method: TWin32Object.GetLabel
@ -2232,7 +2270,7 @@ Begin
SendMessage(Handle, BM_SETCHECK, BST_UNCHECKED, 0); SendMessage(Handle, BM_SETCHECK, BST_UNCHECKED, 0);
End; End;
Else Else
Assert (True, Format('Trace:WARNING:[TWin32Object.SetValue] failed for %S', [Sender.ClassName])); Assert (True, Format('Trace:WARNING: [TWin32Object.SetValue] failed for %S', [Sender.ClassName]));
End; End;
End; End;
@ -2288,12 +2326,12 @@ begin
ListView_SetColumn(Handle, I, LVC); ListView_SetColumn(Handle, I, LVC);
End; End;
End; End;
If Sorted Then //If Sorted Then
//ListView_SortItems(Handle, @CompareFunc, 0); //ListView_SortItems(Handle, @CompareFunc, 0);
If MultiSelect Then If MultiSelect Then
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) And Not LVS_SINGLESEL); SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) And Not LVS_SINGLESEL);
If ImageList <> Nil Then If Images <> Nil Then
ListView_SetImageList(Handle, ImageList.Handle, LVSIL_NORMAL); ListView_SetImageList(Handle, Images.Handle, LVSIL_NORMAL);
End; End;
End; End;
csProgressBar: csProgressBar:
@ -2659,7 +2697,7 @@ Begin
For I := 0 To WndList.Count - 1 Do For I := 0 To WndList.Count - 1 Do
Begin Begin
If HWND(WndList[I]^) = Window Then If HWND(WndList[I]) = Window Then
Begin Begin
WndListed := True; WndListed := True;
End; End;
@ -2668,7 +2706,7 @@ Begin
If Not WndListed Then If Not WndListed Then
Begin Begin
WndList.Capacity := WndList.Count; WndList.Capacity := WndList.Count;
WndList.Add(@Window); WndList.Add(Pointer(Window));
End; End;
SetProp(Window, 'Name', Value); SetProp(Window, 'Name', Value);
@ -2857,8 +2895,11 @@ Begin
Data := Pointer(PLMCanvasDrawText(@Sender)^.Font); Data := Pointer(PLMCanvasDrawText(@Sender)^.Font);
End; End;
{ {
$Log$
Revision 1.5 2002/01/12 22:49:02 lazarus
Keith: Fixed compilation problem and some bugs
Revision 1.4 2002/01/05 13:16:09 lazarus Revision 1.4 2002/01/05 13:16:09 lazarus
MG: win32 interface update from Keith Bowes MG: win32 interface update from Keith Bowes
@ -2872,3 +2913,4 @@ End;
+ Initial import + Initial import
} }