Re: [Lazarus] VirtualTreeView question, horizontal jump
Am 2013-08-21 18:40, schrieb luiz americo pereira camara: 2013/8/21 Jürgen Hestermann juergen.hesterm...@gmx.de mailto:juergen.hesterm...@gmx.de I now found that toDisableAutoscrollOnFocus (under AutoOptions) is changing between these both behaviours: If I set it to TRUE I can navigate as usual within the tree (without horizontal shifting) *but* when reaching the bottom border of the window the cursor disappears below it without shifting up the tree display. So I don't see my cursor anymore (which is totally useless). If I set it to FALSE the tree display is shifted up when reaching the bottom of the display *but* now it jumps to the right border every second down move (so that I don't see the tree anymore, only when shifting it back with Ctrl+Enter). Try to set toCenterScrollIntoView and toDisableAutoscrollOnFocus With toCenterScrollIntoView = True toDisableAutoscrollOnFocus = False the only change is, that the horizontal scroll is now centering (instead of moving to the right margin). This does not solve the problem because the tree is still out of sight. With toCenterScrollIntoView = True toDisableAutoscrollOnFocus = True I get the same as before (cursor moves below the bottom without shifting up the tree to make it visible). -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Shell notifications
Hi All. I've built some code which works fine under Linux. I'm now working on the Windows part using FindFirstChangeNotificationA to get the directory handle and ReadDirectoryChangesW to fetch events data. And I'm blocked there. The receiving buffer is set to 32kb. After changing a file content, ReadDirectoryChangesW does not return any error but the return length is crazy (28 megs) and nothing in the returned buffer contents looks right. After reading some ms docs I've read thah the buffer has to be DWORD aligned. So there is may question: how to do that ? Thanks, Antonio. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On Thu, Aug 22, 2013 at 3:50 AM, waldo kitty wkitt...@windstream.net wrote: after preventing all additional apps from starting, including my firewall and my avast anti-virus, i saw 1.047 seconds for the reading of the compiler options... unloading lazarus and immediately reloading it and trying again gave me a (cached) reading time of 00.047 seconds... This 47 ms is exactly one second less than the first value. Maybe you typed it wrong. Still, it is a realistic value in a healthy machine. I also got smaller than 50 ms timings on my work machine with Linux. Quite a difference compared to 18 seconds. Juha -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On 20/08/2013 14:13, Juha Manninen wrote: Attention waldo kitty and others with slow machines. I added code for timing the reading of all compiler options and the rendering the GUI for them. It shows a MessageBox after reading and rendering. I don't use the define, it should log to console, not dialog But normally on my system the time is not noticeable (100 ms, tops 150 ?) Now I just experienced it taking about 3 or 4 seconds. win 32 vista The system was particular busy (another fpc (different exe / different version) was running). - using 1 of 2 cpu = but the other was idle, so enough cpu power - still 1Gb of RAM free - but it would have prevented anything useful being in the OS disc cache because it accesses plenty of other files Everything on my system react nice and fine, except that tab (other) took a few seconds -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Shell notifications
See the code in attachment I changed the code a little bit adding the OVERLAP parameter and events to use the async method. Now the same function returns error code 6 Antonio. procedure TFrmMain.StartNotify(const FolderName: String); {$IFDEF LINUX} function decodeMask(Mask:Longint):string; var Rslt:String; begin Rslt:=''; if (Mask and IN_ACCESS)=IN_ACCESS then Rslt:=Rslt+' File was accessed.'; if (Mask and IN_MODIFY)=IN_MODIFY then Rslt:=Rslt+' File was modified.'; if (Mask and IN_ATTRIB)=IN_ATTRIB then Rslt:=Rslt+' Attribute was changed.'; if (Mask and IN_CLOSE_WRITE)=IN_CLOSE_WRITE then Rslt:=Rslt+' Writtable file was closed.'; if (Mask and IN_CLOSE_NOWRITE)=IN_CLOSE_NOWRITE then Rslt:=Rslt+' Unwrittable file was closed.'; if (Mask and IN_CLOSE)=IN_CLOSE then Rslt:=Rslt+' File was closed.'; if (Mask and IN_OPEN)=IN_OPEN then Rslt:=Rslt+' File was opened.'; if (Mask and IN_MOVED_FROM)=IN_MOVED_FROM then Rslt:=Rslt+' File was moved from '; if (Mask and IN_MOVED_TO)=IN_MOVED_TO then Rslt:=Rslt+' File was moved to '; if (Mask and IN_MOVE)=IN_MOVE then Rslt:=Rslt+' File is moving'; if (Mask and IN_CREATE)=IN_CREATE then Rslt:=Rslt+' Subfile was created'; if (Mask and IN_DELETE)=IN_DELETE then Rslt:=Rslt+' Subfile was deleted'; if (Mask and IN_DELETE_SELF)=IN_DELETE_SELF then Rslt:=Rslt+' Self was deleted'; if (Mask and IN_MOVE_SELF)=IN_MOVE_SELF then Rslt:=Rslt+' Self was moved'; if (Mask and IN_UNMOUNT)=IN_UNMOUNT then Rslt:=Rslt+' Filesystem was unmounted'; if (Mask and IN_Q_OVERFLOW)=IN_Q_OVERFLOW then Rslt:=Rslt+' Event queued overflowed'; if (Mask and IN_IGNORED)=IN_IGNORED then Rslt:=Rslt+' File was ignored'; if (Mask and IN_ONLYDIR)=IN_ONLYDIR then Rslt:=Rslt+' Only watch the path if it is a directory'; if (Mask and IN_DONT_FOLLOW)=IN_DONT_FOLLOW then Rslt:=Rslt+' Do not follow a sym link'; if (Mask and IN_MASK_ADD)=IN_MASK_ADD then Rslt:=Rslt+' Add to the mast of an already existing watch'; if (Mask and IN_ISDIR)=IN_ISDIR then Rslt:=Rslt+' Event occurred against dir'; if (Mask and IN_ONESHOT)=IN_ONESHOT then Rslt:=Rslt+' Only send event once'; decodeMask:=Rslt; end; {$ENDIF} {$IFDEF MSWINDOWS} function decodeMask(Mask:Longint):string; var Rslt:String; begin Result := ''; if (Mask and FILE_ACTION_ADDED) = FILE_ACTION_ADDED then Result := Result + ' file ADDED'; if (Mask and FILE_ACTION_REMOVED) = FILE_ACTION_REMOVED then Result := Result + ' file REMOVED'; if (Mask and FILE_ACTION_MODIFIED) = FILE_ACTION_MODIFIED then Result := Result + ' file CHANGED'; end; {$ENDIF} var wFolderName: String; FileName: String; Timeout: Integer=200; Buffer: PChar; PData: Pointer; P: Integer; {$IFDEF LINUX} Ret: Integer; instance_handle: cint; notify_handle: cint; rfds: tfdset; length: Integer; iEvent: inotify_event; buflen: Integer=(SizeOf(iEvent) + 16) * 512; evnt: Pinotify_event; TotalRead: TSsize; FileName: String; {$ENDIF} {$IFDEF MSWINDOWS} wHandle: THANDLE; Ret: Integer; Res: BOOL; pFileInfo: PFILE_NOTIFY_INFORMATION; buflen: DWORD=SizeOf(FILE_NOTIFY_INFORMATION) * 512; TotalRead: DWORD; Error: Integer; Overlap: OVERLAPPED; events: array[0..1] of THANDLE; Ev1: TEvent; Ev2: TEvent; {$ENDIF} begin wFolderName := ExcludeTrailingPathDelimiter(Trim(FolderName)); {$IFDEF MSWINDOWS} wHandle := FindFirstChangeNotificationA(PChar(wFolderName), DWORD(LongBool(False)), FILE_NOTIFY_CHANGE_SIZE + FILE_NOTIFY_CHANGE_LAST_WRITE); try if wHandle = INVALID_HANDLE_VALUE then begin MessageDlg('Error','Invalid notify handle', mtError, [mbOK], 0, mbOK); Exit end; Ev1 := TEvent.Create(nil, False, False, 'FEV1_tralala'); Ev2 := TEvent.Create(nil, False, False, 'FEV2_tralala'); events[0] := THANDLE(Ev1.Handle); events[1] := THANDLE(Ev2.Handle); FillMemory(@Overlap, SizeOf(OVERLAPPED), byte(#0)); Overlap.hEvent := THANDLE(Ev1.Handle); FStopNotify := False; PData := nil; buflen := 32 * 1024; ReAllocMem(PData, buflen); //Buffer := system.Align(PData, 16); Buffer := PData; while not FStopNotify do begin Ret := WaitForSingleObject(wHandle, 200); if Ret = WAIT_OBJECT_0 then begin FillMemory(PData, buflen, byte(#0)); Res := ReadDirectoryChangesW(wHandle, Buffer, buflen, False, FILE_NOTIFY_CHANGE_FILE_NAME + FILE_NOTIFY_CHANGE_SIZE + FILE_NOTIFY_CHANGE_LAST_WRITE, @TotalRead, @Overlap, nil); if not Res then begin Error := GetLastError; FStopNotify := True; Memo1.Lines.Add(Format('error on read changes: %d %s', [Error, SysErrorMessage(Error)]));
Re: [Lazarus] Timing of all compiler options on slow machines
On 8/22/2013 05:56, Juha Manninen wrote: On Thu, Aug 22, 2013 at 3:50 AM, waldo kittywkitt...@windstream.net wrote: after preventing all additional apps from starting, including my firewall and my avast anti-virus, i saw 1.047 seconds for the reading of the compiler options... unloading lazarus and immediately reloading it and trying again gave me a (cached) reading time of 00.047 seconds... This 47 ms is exactly one second less than the first value. Maybe you typed it wrong. not typoed... i looked at the wrong number on the sheet i wrote them down on... the cached speed should have been 00:141... Still, it is a realistic value in a healthy machine. I also got smaller than 50 ms timings on my work machine with Linux. Quite a difference compared to 18 seconds. yeah... i've been trying to locate the setting in my firewall where i can turn that protection off but i haven't found it and i'm not sure i want it off just in case something does try to get loose during my network security investigations and research ;) -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
Am 21.08.2013 17:45, schrieb Sven Barth: Maybe I'll need to test this on my mobile development computer as well (800 MHz Intel Stealy processor, 1 GB RAM, Windows 7) ^^ I've written a simple application that uses TProcess to start fpc -i and fpc -h and reads it standard and error output. The fpc executable can be passed as parameter. On my above mentioned 800 MHz system fpc -i takes ~445ms and fpc -h ~540ms for a 2.6.2 fpc.exe. If I now use a 2.6.2 ppc386.exe (which is called by fpc.exe) the time is ~240ms and ~315ms respectively. I've attached the lpr if someone wants to test him-/herself. Regards, Sven program processtest; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} SysUtils { you can add units after this }, process; procedure ExecuteProcess(const aExecutable: String; const aArgs: array of String); var p: TProcess; s: String; buf: array[0..1023] of Byte; start: TDateTime; begin p := TProcess.Create(Nil); try p.Executable := aExecutable; for s in aArgs do p.Parameters.Add(s); p.Options := [poUsePipes]; start := Now; p.Execute; while p.Running do begin if p.Stderr.NumBytesAvailable 0 then p.Stderr.Read(buf, Length(buf)); if p.Output.NumBytesAvailable 0 then p.Output.Read(buf, Length(buf)); end; while p.StdErr.NumBytesAvailable 0 do p.Stderr.Read(buf, Length(buf)); while p.Output.NumBytesAvailable 0 do p.Output.Read(buf, Length(buf)); Writeln('Duration: ', FormatDateTime('hh:nn:ss.zzz', Now - start)); finally p.Free; end; end; var exe: String; begin if ParamCount = 0 then exe := 'fpc' else exe := ParamStr(1); ExecuteProcess(exe, ['-i']); ExecuteProcess(exe, ['-h']); end. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Shell notifications
Am 22.08.2013 13:33, schrieb Antonio Fortuny: See the code in attachment I changed the code a little bit adding the OVERLAP parameter and events to use the async method. Now the same function returns error code 6 Error code 6 is ERROR_INVALID_HANDLE (would be nice if you'd mention the error message as well next time when you're already using SysErrorMessage). FindFirstChangeNotification returns a notification handle, but ReadDirectoryChanges requires a directory handle (with FILE_LIST_DIRECTORY priviledge), so you need to open the directory yourself. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On 8/22/2013 06:58, Martin wrote: The system was particular busy (another fpc (different exe / different version) was running). - using 1 of 2 cpu = but the other was idle, so enough cpu power - still 1Gb of RAM free - but it would have prevented anything useful being in the OS disc cache because it accesses plenty of other files Everything on my system react nice and fine, except that tab (other) took a few seconds the possibility of slow access is why i originally requested a please wait while acquiring options popup window just to let us know what was going on... but if the process is going to go into a background thread, there's no real need for the box... even in my testing, loading lazarus with the default empty project and going directly to project settings - other as quickly as i could, it still took some few seconds... my mouse has to walk a long way over this 1600x1200 screen ;) FWIW: i just spent several hours moving some large files off this machine so i could perform a thorough defrag of this NTFS file system... have returned the machine to normal operations and just tested again... consistent 15.xxx load times even back to back without exiting lazarus... just canceling the panel, re-opening it and selecting other... the drive light doesn't even blink... not sure what to do to make it faster... not sure that it really matters, either... -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Shell notifications
On Thu, Aug 22, 2013 at 01:49:28PM +0200, Sven Barth wrote: Am 22.08.2013 13:33, schrieb Antonio Fortuny: See the code in attachment I changed the code a little bit adding the OVERLAP parameter and events to use the async method. Now the same function returns error code 6 Error code 6 is ERROR_INVALID_HANDLE (would be nice if you'd mention the error message as well next time when you're already using SysErrorMessage). FindFirstChangeNotification returns a notification handle, but ReadDirectoryChanges requires a directory handle (with FILE_LIST_DIRECTORY priviledge), so you need to open the directory yourself. To add to this, the remarks section on msdn says this: To obtain a handle to a directory, use the CreateFile function with the FILE_FLAG_BACKUP_SEMANTICS flag. In addition to this you're also passing an OVERLAPPED record to ReadDirectoryChangesW(), so you'll have to use FILE_FLAG_OVERLAPPED when you open the directory, too. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On Thu, Aug 22, 2013 at 2:50 PM, waldo kitty wkitt...@windstream.net wrote: blink... not sure what to do to make it faster... Replacing Windows with Linux would make it faster. See my earlier timings for a much slower P2 233 MHz machine. Sorry, I could not resist writing this... You may have other reasons for using Windows of course. :) Juha -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
Am 22.08.2013 14:14, schrieb Juha Manninen: On Thu, Aug 22, 2013 at 2:50 PM, waldo kitty wkitt...@windstream.net wrote: blink... not sure what to do to make it faster... Replacing Windows with Linux would make it faster. See my earlier timings for a much slower P2 233 MHz machine. I *know* that process startup time on Windows is slower than on Linux. That's what I have written already in another mail in this thread though not in relation to Linux. Sorry, I could not resist writing this... You may have other reasons for using Windows of course. :) I'm using Windows on that machine, because Linux does not fully work there. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On 8/22/2013 07:42, Sven Barth wrote: Am 21.08.2013 17:45, schrieb Sven Barth: Maybe I'll need to test this on my mobile development computer as well (800 MHz Intel Stealy processor, 1 GB RAM, Windows 7) ^^ I've written a simple application that uses TProcess to start fpc -i and fpc -h and reads it standard and error output. The fpc executable can be passed as parameter. On my above mentioned 800 MHz system fpc -i takes ~445ms and fpc -h ~540ms for a 2.6.2 fpc.exe. If I now use a 2.6.2 ppc386.exe (which is called by fpc.exe) the time is ~240ms and ~315ms respectively. I've attached the lpr if someone wants to test him-/herself. saved as processtest.lpr... opened laz and opened a project... pointed to processtest.lpr and chose 'Application' when laz asked what kind of project... was 'Application' the proper project to choose? also, i edited line 49 where the value of 'exe' is set to 'fpc' to put in the complete path and filename since there is no apparent path search or extension... exe := 'X:\freepascal\fpc\trunk\bin\i386-win32\fpc.exe' running gives me the following in a popup box... Process processtest raised exception class 'RunError(103)'. In file 'processtest.lpr' at line 39: Writeln('Duration: ', FormatDateTime('hh:nn:ss.zzz', Now - start)); clicking [Continue] gives me this in another popup box... Project processtest raised exception class 'EInOutError' with message: File not open In file 'processtest.lpr' at line 39: Writeln('Duration: ', FormatDateTime('hh:nn:ss.zzz', Now - start)); clicking [Continue] gives me this in a final popup box... An unhandled exception occurred at $004017E4: EInOutError: File not open $004017E4 EXECUTEPROCESS, line 39 of processtest.lpr $004018EA main, line 52 of processtest.lpr thinking that it might be a path related problem, i copied fpc.exe and ppc386.exe into the same directory as this processtest project... then i was able to see processtest start fpc and fpc attempted to start ppp386.exe but i got the same outputs as above... -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Proposal for changing fpc version on the fly in the IDE
Hi, The following applies at least to Linux, and should probably apply as well to other OSes. When multiple FPC versions are used, the fpc binary and related utilities are usually located in fpc folder/fpc version/bin, and the compiler itself (ppcxxx) in fpc folder/fpc version/lib/fpc/fpc version. The folders could be different than these, but the point to note is that there are 2 folders that rely on the fpc version. Furthermore, it is not good practice to specify the ppcxxx compiler in the compiler path in the IDE options, especially when cross-compiling. The fpc binary must be specified instead, and that binary must be able to locate the ppcxxx folder. I define the compiler path in the IDE options as 'fpc' only, and ensure that both paths above (with the required fpc version to use) are exported in a shell before launching the IDE from that shell (actually I use a script with a menu to select the version). This setup runs smoothly even for cross-compiling. However to switch from one fpc version to another, one must quit the IDE and the shell, and repeat the process above with the new paths. In order to avoid quitting the IDE, I suggest the following: - If the compiler path in the IDE options is set as a relative path to the fpc binary, or more specifically 'fpc' only, then one would assume that the required paths have been exported, and nothing more needs to be done. - If on the other hand the compiler path in the IDE options is set as an absolute path to the fpc binary (indicating that no paths have been exported), then an additional edit box can be used where one specifies the relative path of the ppcxxx compiler (relative to the fpc binary folder), and thus the IDE can feed that path to the fpc binary using 'absolute path to the fpc binary/fpc -Xprelative path of ppc compiler' when launching the fpc binary. Here two sub cases arise: * If the FPCVER macro does not appear in any of the 2 paths (absolute path to the fpc binary and relative path of ppc compiler) then the fpc binary can be queried to set the FPCVER macro. * If any of the 2 paths depend on the FPCVER macro, then another edit box (with dropdown history) is used to force the FPCVER macro to the required value instead of querying the fpc binary. In that case, changing the FPCVER macro will ensure the use of the right FPC version. As a sanity check, the fpc binary can be queried for the fpc version which is compared to the user specified FPCVER macro. Thoughts? Regards, Stephano -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
Am 22.08.2013 14:38, schrieb waldo kitty: On 8/22/2013 07:42, Sven Barth wrote: Am 21.08.2013 17:45, schrieb Sven Barth: Maybe I'll need to test this on my mobile development computer as well (800 MHz Intel Stealy processor, 1 GB RAM, Windows 7) ^^ I've written a simple application that uses TProcess to start fpc -i and fpc -h and reads it standard and error output. The fpc executable can be passed as parameter. On my above mentioned 800 MHz system fpc -i takes ~445ms and fpc -h ~540ms for a 2.6.2 fpc.exe. If I now use a 2.6.2 ppc386.exe (which is called by fpc.exe) the time is ~240ms and ~315ms respectively. I've attached the lpr if someone wants to test him-/herself. saved as processtest.lpr... opened laz and opened a project... pointed to processtest.lpr and chose 'Application' when laz asked what kind of project... was 'Application' the proper project to choose? 'Program' or 'Simple Program' would have been correct. Alternatively you could have compiled it on the command line as well... also, i edited line 49 where the value of 'exe' is set to 'fpc' to put in the complete path and filename since there is no apparent path search or extension... exe := 'X:\freepascal\fpc\trunk\bin\i386-win32\fpc.exe' That is only the fallback (as Lazarus does). 'fpc' will then be searched in %PATH%. Other executables can be supplied using a parameter (the first one is used) so that I need to compile the test program only once to test different executables. running gives me the following in a popup box... Process processtest raised exception class 'RunError(103)'. Maybe you should have chosen 'Program' indeed. ^^ Alternatively add {$apptype console} at the top or disable GUI application in the project options. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On 8/22/2013 07:42, Sven Barth wrote: On my above mentioned 800 MHz system fpc -i takes ~445ms and fpc -h ~540ms for a 2.6.2 fpc.exe. If I now use a 2.6.2 ppc386.exe (which is called by fpc.exe) the time is ~240ms and ~315ms respectively. I've attached the lpr if someone wants to test him-/herself. i went back and created a new project but chose 'Program' this time instead of 'Application' and that works much better... X:\freepascal\projects\processtestprocesstest Duration: 00:00:04.750 Duration: 00:00:02.421 X:\freepascal\projects\processtestprocesstest Duration: 00:00:01.047 Duration: 00:00:01.063 X:\freepascal\projects\processtestprocesstest Duration: 00:00:00.921 Duration: 00:00:01.047 X:\freepascal\projects\processtestprocesstest Duration: 00:00:01.188 Duration: 00:00:01.219 X:\freepascal\projects\processtestprocesstest Duration: 00:00:01.047 Duration: 00:00:01.047 X:\freepascal\projects\processtestprocesstest Duration: 00:00:00.813 Duration: 00:00:00.922 X:\freepascal\projects\processtestprocesstest Duration: 00:00:01.265 Duration: 00:00:01.281 X:\freepascal\projects\processtestprocesstest Duration: 00:00:01.281 Duration: 00:00:01.078 so... i tried project - options - other again and got 14.906 and 16.205 on the two test runs i made... hummm... why just a huge difference in time?? i deleted the two exes (fpc and ppc386) i had copied to the project directory and specified the full path to fpc on the command line... X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\fpc.exe Duration: 00:00:01.094 Duration: 00:00:03.281 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\fpc.exe Duration: 00:00:01.031 Duration: 00:00:03.156 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\fpc.exe Duration: 00:00:01.157 Duration: 00:00:02.859 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\fpc.exe Duration: 00:00:01.047 Duration: 00:00:03.110 weird... but ok... so once more but directly to ppc386... X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\ppc386.exe Duration: 00:00:00.500 Duration: 00:00:02.485 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\ppc386.exe Duration: 00:00:00.610 Duration: 00:00:02.515 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\ppc386.exe Duration: 00:00:00.610 Duration: 00:00:02.172 X:\freepascal\projects\processtestprocesstest \freepascal\fpc\trunk\bin\i386-win32\ppc386.exe Duration: 00:00:00.484 Duration: 00:00:02.641 i'm at a loss for the difference in times for each of these as well as the much longer times in lazarus project-options-other :? -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On Thu, 22 Aug 2013 15:39:47 +0300 patspiper patspi...@gmail.com wrote: [...] * If the FPCVER macro does not appear in any of the 2 paths (absolute path to the fpc binary and relative path of ppc compiler) then the fpc binary can be queried to set the FPCVER macro. The FPCVer always comes from querying the compiler. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Timing of all compiler options on slow machines
On 8/22/2013 08:14, Juha Manninen wrote: On Thu, Aug 22, 2013 at 2:50 PM, waldo kittywkitt...@windstream.net wrote: blink... not sure what to do to make it faster... Replacing Windows with Linux would make it faster. See my earlier timings for a much slower P2 233 MHz machine. ROTFLMAO!!! i love it! :) Sorry, I could not resist writing this... You may have other reasons for using Windows of course. :) no problem, my friend... none at all... i do use linux on other boxen for mission critical stuffs... and i also have a few primaries running OS/2 eCS as well... but for everything i do, winwhatever currently takes all for the simple ease of use and i can do anything i want in 99% of the cases... since it is w2k, i am not restricted from being able to run DOS apps whenever i want... quite unlike the new winwhatever stuff out there today... habit and muscle memory are hard things to overcome when one is set in their ways with their daily tasks and goals ;) -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Shell notifications
Le 22/08/2013 14:06, Henry Vermaak a écrit : On Thu, Aug 22, 2013 at 01:49:28PM +0200, Sven Barth wrote: Am 22.08.2013 13:33, schrieb Antonio Fortuny: See the code in attachment I changed the code a little bit adding the OVERLAP parameter and events to use the async method. Now the same function returns error code 6 Error code 6 is ERROR_INVALID_HANDLE (would be nice if you'd mention the error message as well next time when you're already using SysErrorMessage). FindFirstChangeNotification returns a notification handle, but ReadDirectoryChanges requires a directory handle (with FILE_LIST_DIRECTORY priviledge), so you need to open the directory yourself. To add to this, the remarks section on msdn says this: To obtain a handle to a directory, use the CreateFile function with the FILE_FLAG_BACKUP_SEMANTICS flag. In addition to this you're also passing an OVERLAPPED record to ReadDirectoryChangesW(), so you'll have to use FILE_FLAG_OVERLAPPED when you open the directory, too. This did it. Don't even need FindFirstChangeNotification Thanks Antonio. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
patspiper wrote: When multiple FPC versions are used, the fpc binary and related utilities are usually located in fpc folder/fpc version/bin, and the compiler itself (ppcxxx) in fpc folder/fpc version/lib/fpc/fpc version. The folders could be different than these, but the point to note is that there are 2 folders that rely on the fpc version. I don't see that here (Linux/Debian, FPC and Lazarus built broadly with defaults). Binaries are in /usr/local/bin, FPC-specific stuff in /usr/local/lib/fpc/x.y.z where x.y.z is a version number. As a general point, I normally copy a clean fpcsrc into x.y.z for Lazarus's benefit but that still only leaves a single directory named for a version number. Furthermore, it is not good practice to specify the ppcxxx compiler in the compiler path in the IDE options, especially when cross-compiling. The fpc binary must be specified instead, and that binary must be able to locate the ppcxxx folder. For users who aren't cross-compiling, why is this a bad idea? (I ask for information, not because I'm arguing or criticising). I usually add a couple of symlinks in /usr/local/bin e.g. ppcsparc - ppcsparc-2.6.2 and ppcsparc-2.6.2 - /usr/local/lib/fpc/2.6.2/ppcsparc. The fpc binary will be the one installed by the most recent build. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On 22/08/13 15:59, Mattias Gaertner wrote: On Thu, 22 Aug 2013 15:39:47 +0300 patspiper patspi...@gmail.com wrote: [...] * If the FPCVER macro does not appear in any of the 2 paths (absolute path to the fpc binary and relative path of ppc compiler) then the fpc binary can be queried to set the FPCVER macro. The FPCVer always comes from querying the compiler. Right. But the proposal, if implemented, introduces one case where either the fpc binary or the ppcxxx compiler cannot be located because their paths depend on the FPCVER macro. In that case, the FPCVER macro needs to be manually set/selected in the IDE to allow the paths to resolve correctly. And as a sanity check, the FPC binary can then be queried for the version, and that version is compared with the 'forced' FPCVER macro. If this is somehow convoluted (for this specific case), then instead of having the paths depend on FPCVER, they could depend on some user defined macro (e.g. USERFPCVER or XYZ) provided the user is able to set that macro in the IDE options via some selector. Stephano -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On 22/08/13 16:23, Mark Morgan Lloyd wrote: patspiper wrote: When multiple FPC versions are used, the fpc binary and related utilities are usually located in fpc folder/fpc version/bin, and the compiler itself (ppcxxx) in fpc folder/fpc version/lib/fpc/fpc version. The folders could be different than these, but the point to note is that there are 2 folders that rely on the fpc version. I don't see that here (Linux/Debian, FPC and Lazarus built broadly with defaults). Binaries are in /usr/local/bin, FPC-specific stuff in /usr/local/lib/fpc/x.y.z where x.y.z is a version number. As a general point, I normally copy a clean fpcsrc into x.y.z for Lazarus's benefit but that still only leaves a single directory named for a version number. When you install using the distribution's packages or standard installers, you'll not be able to use more than one FPC version without considerable tweaking. Furthermore, each version has its own fpc binary and tools in the usr/local/bin folder. They could be compatible or incompatible across versions. Thus it is better for each version to have its own set of folders. Furthermore, it is not good practice to specify the ppcxxx compiler in the compiler path in the IDE options, especially when cross-compiling. The fpc binary must be specified instead, and that binary must be able to locate the ppcxxx folder. For users who aren't cross-compiling, why is this a bad idea? (I ask for information, not because I'm arguing or criticising). AFAIK, the fpc binary is supposed to be the gate to the compiler, and that's by design. You can get away by using the ppcxxx compiler directly if you're not cross compiling, but that's not guaranteed to not break in the future. I usually add a couple of symlinks in /usr/local/bin e.g. ppcsparc - ppcsparc-2.6.2 and ppcsparc-2.6.2 - /usr/local/lib/fpc/2.6.2/ppcsparc. The fpc binary will be the one installed by the most recent build. You are tweaking your system unnecessarily. Just make sure that both folder paths are exported and forget about any symlinks. That's by far more flexible, easily upgradeable, and less prone to errors. Stephano -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On Thu, Aug 22, 2013 at 05:12:04PM +0300, patspiper wrote: On 22/08/13 16:23, Mark Morgan Lloyd wrote: I usually add a couple of symlinks in /usr/local/bin e.g. ppcsparc - ppcsparc-2.6.2 and ppcsparc-2.6.2 - /usr/local/lib/fpc/2.6.2/ppcsparc. The fpc binary will be the one installed by the most recent build. You are tweaking your system unnecessarily. Just make sure that both folder paths are exported and forget about any symlinks. That's by far more flexible, easily upgradeable, and less prone to errors. Executing `fpc -Vversionstr` will call ppcbin-versionstr, so those symlinks are actually quite useful if you want to use different compiler versions. Henry -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On 22/08/13 17:26, Henry Vermaak wrote: On Thu, Aug 22, 2013 at 05:12:04PM +0300, patspiper wrote: On 22/08/13 16:23, Mark Morgan Lloyd wrote: I usually add a couple of symlinks in /usr/local/bin e.g. ppcsparc - ppcsparc-2.6.2 and ppcsparc-2.6.2 - /usr/local/lib/fpc/2.6.2/ppcsparc. The fpc binary will be the one installed by the most recent build. You are tweaking your system unnecessarily. Just make sure that both folder paths are exported and forget about any symlinks. That's by far more flexible, easily upgradeable, and less prone to errors. Executing `fpc -Vversionstr` will call ppcbin-versionstr, so those symlinks are actually quite useful if you want to use different compiler versions. That's one way for sure, but I'd rather keep my different installs separate and either export the right paths or use the Xp switch. Btw, are the Xp and V switches documented? fpc does not list them and they cannot be found in http://www.freepascal.org/docs-html/user/userap1.html#x169-176000A Stephano -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] SynEdit onMouseWell
Hello all. How to implement onMouseWell in SynEdit ? thanks -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
patspiper wrote: On 22/08/13 16:23, Mark Morgan Lloyd wrote: patspiper wrote: When multiple FPC versions are used, the fpc binary and related utilities are usually located in fpc folder/fpc version/bin, and the compiler itself (ppcxxx) in fpc folder/fpc version/lib/fpc/fpc version. The folders could be different than these, but the point to note is that there are 2 folders that rely on the fpc version. I don't see that here (Linux/Debian, FPC and Lazarus built broadly with defaults). Binaries are in /usr/local/bin, FPC-specific stuff in /usr/local/lib/fpc/x.y.z where x.y.z is a version number. As a general point, I normally copy a clean fpcsrc into x.y.z for Lazarus's benefit but that still only leaves a single directory named for a version number. When you install using the distribution's packages or standard installers, you'll not be able to use more than one FPC version without considerable tweaking. I started off with a standard FPC binary installation circa 2.0, this put the utilities in /usr/local/bin ** . Since then I've generally built from source- in many cases I've had to since there wasn't an up-to-date binary- and I've never had to explicitly tell the build to use non-standard directories. So if you're now saying that I'm doing something wrong by- in some way- overriding correct behaviour then I'm interested to know. Otherwise, what you're suggesting is a significant change to FPC build and I suggest you raise it with the compiler developers- it's not a Lazarus issue. Furthermore, each version has its own fpc binary and tools in the usr/local/bin folder. They could be compatible or incompatible across versions. Thus it is better for each version to have its own set of folders. I've never seen any suggestion that this breaks backwards compatibility, and if it does it should probably be raised as a bug- at least so that it can be documented properly. In any event, as long as fpc (etc.) knows what version of backend it's using then later versions should be able to emulate older ones: I don't think anybody'd be fool enough to try the other way round :-) ** On Linux. Solaris was lightly different, and of course Windows has its own best practice. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] VirtualTreeView question, horizontal jump
2013/8/22 Jürgen Hestermann juergen.hesterm...@gmx.de Am 2013-08-21 18:40, schrieb luiz americo pereira camara: 2013/8/21 Jürgen Hestermann juergen.hesterm...@gmx.de I now found that toDisableAutoscrollOnFocus (under AutoOptions) is changing between these both behaviours: If I set it to TRUE I can navigate as usual within the tree (without horizontal shifting) *but* when reaching the bottom border of the window the cursor disappears below it without shifting up the tree display. So I don't see my cursor anymore (which is totally useless). If I set it to FALSE the tree display is shifted up when reaching the bottom of the display *but* now it jumps to the right border every second down move (so that I don't see the tree anymore, only when shifting it back with Ctrl+Enter). Try to set toCenterScrollIntoView and toDisableAutoscrollOnFocus With toCenterScrollIntoView = True toDisableAutoscrollOnFocus = False the only change is, that the horizontal scroll is now centering (instead of moving to the right margin). This does not solve the problem because the tree is still out of sight. With toCenterScrollIntoView = True toDisableAutoscrollOnFocus = True I get the same as before (cursor moves below the bottom without shifting up the tree to make it visible). Please create an example and add a bug report Make sure you are using http://sourceforge.net/p/lazarus-ccr/svn/2775/tree/components/virtualtreeview-new/branches/4.8/ Luiz -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] SynEdit onMouseWell
On 8/22/2013 12:20, Junior wrote: Hello all. How to implement onMouseWell in SynEdit ? do you mean onMouseWheel? -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
On 22/08/13 19:36, Mark Morgan Lloyd wrote: I started off with a standard FPC binary installation circa 2.0, this put the utilities in /usr/local/bin ** . Since then I've generally built from source- in many cases I've had to since there wasn't an up-to-date binary- and I've never had to explicitly tell the build to use non-standard directories. So if you're now saying that I'm doing something wrong by- in some way- overriding correct behaviour then I'm interested to know. I never said you were doing something wrong, although I am not sure what would happen if you uninstall your original FPC. Would the newer built from source versions still work? Moreover, if you install from trunk, then some of the unstable files will be used for all fpc versions. What I do is always build from source, and have several versions coexist without any possibility of conflict since the folders are completely separate. Otherwise, what you're suggesting is a significant change to FPC build and I suggest you raise it with the compiler developers- it's not a Lazarus issue. I use standard building (from source) for FPC as if it were a new install, but just make sure each gets its own folder by specifying the INSTALL_PREFIX accordingly. So there is nothing that needs to be raised with FPC devs. On the other hand, my proposal relates to being able to change the fpc version in the Lazarus IDE on the fly. Furthermore, each version has its own fpc binary and tools in the usr/local/bin folder. They could be compatible or incompatible across versions. Thus it is better for each version to have its own set of folders. I've never seen any suggestion that this breaks backwards compatibility, and if it does it should probably be raised as a bug- at least so that it can be documented properly. In any event, as long as fpc (etc.) knows what version of backend it's using then later versions should be able to emulate older ones: I don't think anybody'd be fool enough to try the other way round :-) Would you trust using the fpc binary (not ppcxxx) and associated utilities of trunk for your production apps? ** On Linux. Solaris was lightly different, and of course Windows has its own best practice. :) Stephano -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Proposal for changing fpc version on the fly in the IDE
patspiper wrote: On 22/08/13 19:36, Mark Morgan Lloyd wrote: I've never seen any suggestion that this breaks backwards compatibility, and if it does it should probably be raised as a bug- at least so that it can be documented properly. In any event, as long as fpc (etc.) knows what version of backend it's using then later versions should be able to emulate older ones: I don't think anybody'd be fool enough to try the other way round :-) Would you trust using the fpc binary (not ppcxxx) and associated utilities of trunk for your production apps? I have more than one computer :-) Frankly though, I'm not sure /what/ I'd trust for production apps. I'd be reluctant to use FPC _trunk and cautious about using _fixes, and I think I'd have to say the same about Lazarus... which obviously complicates things since in general there are always must have features and fixes only in the bleeding-edge revision. But that takes us back to the original point: I usually set up Lazarus to invoke ppcXXX.x.y.z rather than the fpc wrapper, at which point I'm not sure which of the utilities in /usr/local/bin are at all relevant. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] SynEdit onMouseWell
On 22/08/2013 17:20, Junior wrote: Hello all. How to implement onMouseWell in SynEdit ? looks like a bug procedure TCustomSynEdit.WMMouseWheel(var Message: TLMMouseEvent); only calls inherited, if there are no scrollbars. -- just change it to always call inherited. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] SynEdit onMouseWell
On 22/08/2013 19:36, Martin wrote: On 22/08/2013 17:20, Junior wrote: Hello all. How to implement onMouseWell in SynEdit ? looks like a bug try to change it to the below. (int synedit.pp I have not tested it yet... will do later procedure TCustomSynEdit.WMMouseWheel(var Message: TLMMouseEvent); var lState: TShiftState; MousePos: TPoint; begin if ((sfHorizScrollbarVisible in fStateFlags) and (Message.Y ClientHeight)) or ((sfVertScrollbarVisible in fStateFlags) and (Message.X ClientWidth)) then begin inherited; exit; end; MousePos.X := Message.X; MousePos.Y := Message.Y; if DoMouseWheel(lState, Message.WheelDelta, MousePos) then begin Message.Result := 1; // handled exit; end; lState := Message.State - [ssCaps, ssNum, ssScroll]; // Remove unreliable states, see http://bugs.freepascal.org/view.php?id=20065 FMouseClickDoPopUp := False; IncPaintLock; try if Message.WheelDelta 0 then begin FindAndHandleMouseAction(mbXWheelUp, lState, Message.X, Message.Y, ccSingle, cdDown, Message.WheelDelta); end else begin // send megative delta FindAndHandleMouseAction(mbXWheelDown, lState, Message.X, Message.Y, ccSingle, cdDown, Message.WheelDelta); end; finally DecPaintLock; end; if FMouseClickDoPopUp and (PopupMenu nil) then begin PopupMenu.PopupComponent:=self; PopupMenu.PopUp; end; Message.Result := 1 // handled, skip further handling by interface end; -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Remote Registry...
Hi guys, I need access to remote registry of Microsoft Window and get a data, it's posible with Pascal? Somebody can share one code? Thank a lot -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Remote Registry...
On 8/22/2013 16:46, Liyuan Garcia Caballero wrote: Hi guys, I need access to remote registry of Microsoft Window and get a data, it's posible with Pascal? of course it is possible... the question is how are you expecting to be able to perform this task... Somebody can share one code? no but possibly an idea or two... write a remote server that accesses the registry for whatever you want... then talk to it via a local client... in reality, it should be no different than using ssh or rdp into the remote host and starting the remote machine's regedit or similar... capturing that information and feeding it back across the link... NOTE: i use the term server above because you are wanting to connect to a remote system and pull data from it... in the most general terms, that makes it a server... the connecting package on the local side is then considered a client... -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] SynEdit onMouseWell
The bars work, I wanted to implement the event because they appear in the Object Inspector. Em 22-08-2013 15:36, Martin escreveu: On 22/08/2013 17:20, Junior wrote: Hello all. How to implement onMouseWell in SynEdit ? looks like a bug procedure TCustomSynEdit.WMMouseWheel(var Message: TLMMouseEvent); only calls inherited, if there are no scrollbars. -- just change it to always call inherited. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Remote Registry...
On Thu, Aug 22, 2013 at 9:55 PM, waldo kitty wkitt...@windstream.net wrote: On 8/22/2013 16:46, Liyuan Garcia Caballero wrote: Hi guys, I need access to remote registry of Microsoft Window and get a data, it's posible with Pascal? of course it is possible... the question is how are you expecting to be able to perform this task... Somebody can share one code? no but possibly an idea or two... write a remote server that accesses the registry for whatever you want... then talk to it via a local client... in reality, it should be no different than using ssh or rdp into the remote host and starting the remote machine's regedit or similar... capturing that information and feeding it back across the link... NOTE: i use the term server above because you are wanting to connect to a remote system and pull data from it... in the most general terms, that makes it a server... the connecting package on the local side is then considered a client... I guess he means this: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724840%28v=vs.85%29.aspx -Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus