I just want to check something - please help... In the win32-case, in C:\Lazarus\lcl\interfaces\win32\win32wscontrols.pp one finds for example:
procedure PrepareCreateWindow(const AWinControl: TWinControl; var Params: TCreateWindowExParams); begin with Params do begin Flags := WS_CHILD or WS_CLIPSIBLINGS or WS_CLIPCHILDREN; FlagsEx := 0; Assert(False, 'Trace:Setting flags'); Window := HWND(Nil); Buddy := HWND(Nil); Assert(False, 'Trace:Setting window'); if AWinControl.Parent <> nil then begin Parent := AWinControl.Parent.Handle; end else Parent := TWin32WidgetSet(WidgetSet).AppHandle; SubClassWndProc := @WindowProc; WindowTitle := nil; StrCaption := PChar(AWinControl.Caption); WindowTitle := nil; ... ... In there, in the line StrCaption := PChar(AWinControl.Caption); Caption is a property of TControl, declared in C:\Lazarus\lcl\controls.pp TControl.Caption uses read gettext and write settext, which are implemented for instance in C:\Lazarus\lcl\include\control.inc Now, I must admit that I am getting lost there a bit. My actual question: when Params.StrCaption is being assigned a value (above, in procedure PrepareCreateWindow) - is this value guaranteed to already be encoded in UTF8 (i.e. a transformation from the possible Codepage into UTF8 happens somewhere (where?) before) or it is still encoded in a Codepage, in cases where the application does not use UTF8 as "Codepage"? A second question: do I understand it correctly, that if I am changing/experimenting with the interface part, there is no way whatsoever to avoid the necessity to always rebuild Lazarus, in order to test the changes (and so these changes are immediately active in the recompiled IDE)? What is the preferred/suggested way of debugging such things? Many thanks to any core member for the patience in answering! Borut _________________________________________________________________ To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives