[Lazarus] ToDoListLaz

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] ToDoListLaz

Hans-Peter Diettrich
I've encounterd several problems with the TodoList form in package
ToDoListLaz, SVN trunk and fixes_0_9_30, on Win7. No docking support
installed, if this matters.

On the first invocation of menu "View|ToDo list" an AV occurs, I suspect
that the form has not been created. Further tries hang the IDE, so that
it only can be killed. Can somebody confirm or help in fixing my
possibly broken configuration?

The columns deserve some beautification, in detail filenames should be
presented in a reasonable form (rightmost part is essential), and line
numbers should be right-aligned. It also should be possible to sort the
columns, e.g. by file, where filenames and linnumbers are sorted
together. The customized column layout should be stored, somehow. This
is what I want to add, and what reveals problems with TListView.

I understand that the behaviour of the platform specific ListView widget
imposes limits on the implementation of such features, so that e.g.
owner draw and sorting has to be used. Another solution could use a
TStringGrid instead, with no special widgetset dependencies.

Sorting a TListView currently is flawed, because the list is sorted
twice. The first sort uses CompareItems, where a customized sorting can
be implemented using an OnCompare handler. The second sort occurs in the
widget, where the Win32 widgetset uses a different compare function. I
don't know how to fix this in a platform independent way; a simple
solution would never call the widget specific sorting, removing e.g.
ascending/descending sorting and user feedback about the sorted column
and sort order.


What's the chance that TListView is improved, so that it allows to use
more of the widget specific features? Or should I better try to use a
TStringGrid instead?

How can the configuration of the ToDo list be stored in the IDE
configuration?

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Mattias Gaertner
On Thu, 03 Feb 2011 05:56:56 +0100
Hans-Peter Diettrich <[hidden email]> wrote:

> I've encounterd several problems with the TodoList form in package
> ToDoListLaz, SVN trunk and fixes_0_9_30, on Win7. No docking support
> installed, if this matters.
>
> On the first invocation of menu "View|ToDo list" an AV occurs

Stacktrace?

> , I suspect
> that the form has not been created. Further tries hang the IDE, so that
> it only can be killed. Can somebody confirm or help in fixing my
> possibly broken configuration?
>
> The columns deserve some beautification, in detail filenames should be
> presented in a reasonable form (rightmost part is essential), and line
> numbers should be right-aligned. It also should be possible to sort the
> columns, e.g. by file, where filenames and linnumbers are sorted
> together. The customized column layout should be stored, somehow. This
> is what I want to add, and what reveals problems with TListView.

Patches are welcome.
As far as I know this package has no active developer.

 

> I understand that the behaviour of the platform specific ListView widget
> imposes limits on the implementation of such features, so that e.g.
> owner draw and sorting has to be used. Another solution could use a
> TStringGrid instead, with no special widgetset dependencies.
>
> Sorting a TListView currently is flawed, because the list is sorted
> twice. The first sort uses CompareItems, where a customized sorting can
> be implemented using an OnCompare handler. The second sort occurs in the
> widget, where the Win32 widgetset uses a different compare function. I
> don't know how to fix this in a platform independent way; a simple
> solution would never call the widget specific sorting, removing e.g.
> ascending/descending sorting and user feedback about the sorted column
> and sort order.
>
> What's the chance that TListView is improved, so that it allows to use
> more of the widget specific features? Or should I better try to use a
> TStringGrid instead?

My advice: Put this another mail with a subject about TListView.

 
> How can the configuration of the ToDo list be stored in the IDE
> configuration?

See
http://wiki.lazarus.freepascal.org/Extending_the_IDE#Config_files

Mattias

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
Mattias Gaertner schrieb:

>> I've encounterd several problems with the TodoList form in package
>> ToDoListLaz, SVN trunk and fixes_0_9_30, on Win7. No docking support
>> installed, if this matters.
>>
>> On the first invocation of menu "View|ToDo list" an AV occurs
>
> Stacktrace?

How?

When I try to build and start a debugging version, a couple of Error
windows pops up, under the splash screen. Lazarus.lpi is useless here,
because it doesn't include the package.

Currently I cannot rebuild any unpatched IDE, for several and obscure
reasons. Even when I do a "make clean all" before, a "make bigide", or
rebuilding with packages from the IDE itself, fails with various errors.
I have no idea what might be wrong with my installation or
configuration. Does there already exist a distribution for Windows,
including FPC, so that I can test 0.30 in a clean environment (VM)?

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Mattias Gaertner
On Thu, 03 Feb 2011 13:18:45 +0100
Hans-Peter Diettrich <[hidden email]> wrote:

> Mattias Gaertner schrieb:
>
> >> I've encounterd several problems with the TodoList form in package
> >> ToDoListLaz, SVN trunk and fixes_0_9_30, on Win7. No docking support
> >> installed, if this matters.
> >>
> >> On the first invocation of menu "View|ToDo list" an AV occurs
> >
> > Stacktrace?
>
> How?

I thought you did that already a few times?

http://wiki.lazarus.freepascal.org/Creating_a_Backtrace_with_GDB

 
> When I try to build and start a debugging version, a couple of Error
> windows pops up, under the splash screen. Lazarus.lpi is useless here,
> because it doesn't include the package.
>
> Currently I cannot rebuild any unpatched IDE, for several and obscure
> reasons. Even when I do a "make clean all" before, a "make bigide", or
> rebuilding with packages from the IDE itself, fails with various errors.

Give the first.


> I have no idea what might be wrong with my installation or
> configuration. Does there already exist a distribution for Windows,
> including FPC, so that I can test 0.30 in a clean environment (VM)?

Have you tried the daily snapshot?

Mattias

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
Mattias Gaertner schrieb:

>>> Stacktrace?
>> How?
>
> I thought you did that already a few times?

No, I prefer debugging in the IDE, with breakpoints and stepping. Why
bother with *where* an AV happens, when I can determine *why* it happens
there.

> http://wiki.lazarus.freepascal.org/Creating_a_Backtrace_with_GDB

Thanks for the info :-)

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Mattias Gaertner
On Thu, 03 Feb 2011 20:06:32 +0100
Hans-Peter Diettrich <[hidden email]> wrote:

> Mattias Gaertner schrieb:
>
> >>> Stacktrace?
> >> How?
> >
> > I thought you did that already a few times?
>
> No, I prefer debugging in the IDE, with breakpoints and stepping. Why
> bother with *where* an AV happens, when I can determine *why* it happens
> there.

:)
People helping debugging are mostly welcome.


Mattias

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
In reply to this post by Mattias Gaertner
Mattias Gaertner schrieb:

>> I have no idea what might be wrong with my installation or
>> configuration. Does there already exist a distribution for Windows,
>> including FPC, so that I can test 0.30 in a clean environment (VM)?
>
> Have you tried the daily snapshot?

I tried it now, after 1 hour downloading, and I'm really impressed, the
installation proceeded without major problems :-)

Nontheless I encounterd some problems, that make the installation
unusable. The Windows installer could be improved a bit:

1) The desktop icon could reflect the installation folder name, so that
it can be distinguished from other Lazarus icons.

2) The working directory is not set for the destop icon, so that a
--debug-log goes to the desktop. This directory also should be set to
the installation directory.

3) The configuration is not initialized, so that the default (old)
installation is used. The IDE internals reveal:

 >>
Global IDE options:
Primary config directory=C:\Users\dodi\AppData\Local\lazarus
Secondary config directory=D:\lazarus931
LazarusDirectory=D:\lazarus\
CompilerFilename=D:\FPC\2.4.2\bin\i386-win32\fpc.exe
Real CompilerFilename=D:\FPC\2.4.2\bin\i386-win32\fpc.exe
<<

This clearly is *not* a useful setup for multiple installations, since
the old compiler and other settings are used.

This is what happens when the snapshot Lazarus is used from the desktop
icon (with --debug-log added):

 >>
TLazPackageGraph.RegistrationError Package: "FCL 1.0"#0DUnit Name:
"RegisterFCL"#0D#0DUnit not found: "RegisterFCL"
TLazPackageGraph.RegistrationError Package: "LCLBase 1.0"#0DUnit Name:
"RegisterLCL"#0D#0DUnit not found: "RegisterLCL"
TLazPackageGraph.OpenInstalledDependency ToDoListLaz 0.0 0
FindMissingClass ActionGrid:TStringGrid IsInherited=False
FindMissingClass ContextTree:TTreeView IsInherited=False
FindMissingClass Splitter1:TSplitter IsInherited=False
FindMissingClass ToolBar1:TToolBar IsInherited=False
FindMissingClass BtnImport:TToolButton IsInherited=False
FindMissingClass OtherActionPanel:TPanel IsInherited=False
FindMissingClass OtherActionLabel:TLabel IsInherited=False
FindMissingClass OtherActToggleBox:TToggleBox IsInherited=False
FindMissingClass SaveDialog1:TSaveDialog IsInherited=False
FindMissingClass OpenDialog1:TOpenDialog IsInherited=False
TMainIDE.DoLoadLFM loading nested class TOpenDialog needed by
D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasTMainIDE.DoLoadLFM
DoLoadComponentDependencyHidden NestedClassName=TOpenDialog failed for
D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasOpenResource
DoLoadLFM failedTMainIDE.DoOpenEditorFile failed OpenResource:
D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasLAZARUS END
- cleaning up ...
<<

I'd suggest that the installer checks for a previous installation (this
is already done), and when one is found asks whether to install the
snapshot as the default Lazarus (overwriting the old config etc.), or as
yet another installation (creating and using a new config in the
installation directory).

Since snapshots do not always work, it would be a good idea to make them
*always* use a private configuration in the installation directory.

Should I supply an according bug report (or feature request)?


Now the question is:

*What must a user do to make the snapshot work?*

Please give according step-by-step instructions, so that I can update
the wiki accordingly after verification, and the installer can be
modified accordingly. The goal should be an installation that
*definitely* uses the just installed LCL and FPC, ready for testing and
reporting eventual bugs.

TIA
   DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Juha Manninen
Hans-Peter Diettrich kirjoitti perjantai 04 helmikuu 2011 07:53:55:
> I tried it now, after 1 hour downloading, and I'm really impressed,
> the installation proceeded without major problems :-)

1 hour! Is your internet connection so slow?

> *What must a user do to make the snapshot work?*

DoDi, please forget the snapshots and load Lazarus directly from SVN server.
You can quickly and easily update it to latest version, only the diff is
downloaded. If you need to test an older version, it is easy, too.

Juha

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
Juha Manninen schrieb:
> Hans-Peter Diettrich kirjoitti perjantai 04 helmikuu 2011 07:53:55:
>> I tried it now, after 1 hour downloading, and I'm really impressed,
>> the installation proceeded without major problems :-)
>
> 1 hour! Is your internet connection so slow?

Yes, since December I have no phone and no internet (DSL) access. I only
wanted to change my phone provider, and this is the result :-(
Currently I'm using an UMTS stick for internet access...


>> *What must a user do to make the snapshot work?*
>
> DoDi, please forget the snapshots and load Lazarus directly from SVN server.
> You can quickly and easily update it to latest version, only the diff is
> downloaded. If you need to test an older version, it is easy, too.

Sorry, this is not easy at all. The mentioned problems exist with
*every* installation, and I have more than 10 FPC and Lazarus branches
on my machine. Some of these may disappear with the next cleanup, but
currently *every* installation requires another manual setup.

That's why I ask for a "clean" installation procedure, usable by
everybody with no detailed knowledge about FPC and Lazarus installation.

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Juha Manninen
Hans-Peter Diettrich kirjoitti perjantai 04 helmikuu 2011 14:43:46:

> > DoDi, please forget the snapshots and load Lazarus directly from SVN
> > server. You can quickly and easily update it to latest version, only the
> > diff is downloaded. If you need to test an older version, it is easy,
> > too.
>
> Sorry, this is not easy at all. The mentioned problems exist with
> *every* installation, and I have more than 10 FPC and Lazarus branches
> on my machine. Some of these may disappear with the next cleanup, but
> currently *every* installation requires another manual setup.
>
> That's why I ask for a "clean" installation procedure, usable by
> everybody with no detailed knowledge about FPC and Lazarus installation.

I guess you need many FPC branches because you develop it, but you should not
need them all built at the same time.
I don't see why you would need many Lazarus versions built at the same time.

I would say keep the branches in a local git repo, then checkout the one you
need and build it. At least with lazarus it works perfectly. I may have
experimets and new development in their own branches, I can jump between them
and build the one I need. A fast machine builds them so quickly that I don't
need to care about it. I can update the latest changes from SVN repo anytime
and a minimum amount of network traffic is needed.
I think you know the concept.
SVN is good for a global server but maintaining local branches with it is a
big pain.

I don't know the details of your FPC installation. It may be more complicated.

http://wiki.lazarus.freepascal.org/Lazarus_git-svn

Juha

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Sven Barth
In reply to this post by Hans-Peter Diettrich
On 04.02.2011 06:53, Hans-Peter Diettrich wrote:

> Mattias Gaertner schrieb:
>
>>> I have no idea what might be wrong with my installation or
>>> configuration. Does there already exist a distribution for Windows,
>>> including FPC, so that I can test 0.30 in a clean environment (VM)?
>>
>> Have you tried the daily snapshot?
>
> I tried it now, after 1 hour downloading, and I'm really impressed, the
> installation proceeded without major problems :-)
>
> Nontheless I encounterd some problems, that make the installation
> unusable. The Windows installer could be improved a bit:
>
> 1) The desktop icon could reflect the installation folder name, so that
> it can be distinguished from other Lazarus icons.
>
> 2) The working directory is not set for the destop icon, so that a
> --debug-log goes to the desktop. This directory also should be set to
> the installation directory.
>
> 3) The configuration is not initialized, so that the default (old)
> installation is used. The IDE internals reveal:
>
>  >>
> Global IDE options:
> Primary config directory=C:\Users\dodi\AppData\Local\lazarus
> Secondary config directory=D:\lazarus931
> LazarusDirectory=D:\lazarus\
> CompilerFilename=D:\FPC\2.4.2\bin\i386-win32\fpc.exe
> Real CompilerFilename=D:\FPC\2.4.2\bin\i386-win32\fpc.exe
> <<
>
> This clearly is *not* a useful setup for multiple installations, since
> the old compiler and other settings are used.
>
> This is what happens when the snapshot Lazarus is used from the desktop
> icon (with --debug-log added):
>
>  >>
> TLazPackageGraph.RegistrationError Package: "FCL 1.0"#0DUnit Name:
> "RegisterFCL"#0D#0DUnit not found: "RegisterFCL"
> TLazPackageGraph.RegistrationError Package: "LCLBase 1.0"#0DUnit Name:
> "RegisterLCL"#0D#0DUnit not found: "RegisterLCL"
> TLazPackageGraph.OpenInstalledDependency ToDoListLaz 0.0 0
> FindMissingClass ActionGrid:TStringGrid IsInherited=False
> FindMissingClass ContextTree:TTreeView IsInherited=False
> FindMissingClass Splitter1:TSplitter IsInherited=False
> FindMissingClass ToolBar1:TToolBar IsInherited=False
> FindMissingClass BtnImport:TToolButton IsInherited=False
> FindMissingClass OtherActionPanel:TPanel IsInherited=False
> FindMissingClass OtherActionLabel:TLabel IsInherited=False
> FindMissingClass OtherActToggleBox:TToggleBox IsInherited=False
> FindMissingClass SaveDialog1:TSaveDialog IsInherited=False
> FindMissingClass OpenDialog1:TOpenDialog IsInherited=False
> TMainIDE.DoLoadLFM loading nested class TOpenDialog needed by
> D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasTMainIDE.DoLoadLFM
> DoLoadComponentDependencyHidden NestedClassName=TOpenDialog failed for
> D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasOpenResource DoLoadLFM
> failedTMainIDE.DoOpenEditorFile failed OpenResource:
> D:\lazarus\ide\frames\editor_mouseaction_options_advanced.pasLAZARUS END
> - cleaning up ...
> <<
>
> I'd suggest that the installer checks for a previous installation (this
> is already done), and when one is found asks whether to install the
> snapshot as the default Lazarus (overwriting the old config etc.), or as
> yet another installation (creating and using a new config in the
> installation directory).
>
> Since snapshots do not always work, it would be a good idea to make them
> *always* use a private configuration in the installation directory.
>
> Should I supply an according bug report (or feature request)?

I have already reported this here
http://bugs.freepascal.org/view.php?id=15813 some time ago. You can
commnt it of course, if you find something missing (like the option to
put the config inside the installation directory).

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
In reply to this post by Juha Manninen
Juha Manninen schrieb:

> I don't see why you would need many Lazarus versions built at the same time.

I need the official version and my own modified version, at least for
the trunk, the last release and the next release candidate.

> I would say keep the branches in a local git repo, then checkout the one you
> need and build it. At least with lazarus it works perfectly. I may have
> experimets and new development in their own branches, I can jump between them
> and build the one I need. A fast machine builds them so quickly that I don't
> need to care about it.

I care, and I want to have the history (projects...) and configurations
preserved for each version.

For my experiments I use a single git repository, a clone of Graeme's
mirror. Later I move the essential patches into the SVN based versions.

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Juha Manninen
Hans-Peter Diettrich kirjoitti sunnuntai 06 helmikuu 2011 00:03:09:
> I care, and I want to have the history (projects...) and configurations
> preserved for each version.
>
> For my experiments I use a single git repository, a clone of Graeme's
> mirror. Later I move the essential patches into the SVN based versions.

I also have one local git repo, connecting to SVN server using the git-svn
link. Each local branch has a full commit history.

About preserving configuration: you should be able to add the local config files
(like in ~/lazarus) under source control, too. They are just text files after
all. Then "git checkout lazarus_experiment" would also bring up your
experimental configuration.

Juha

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] ToDoListLaz

Hans-Peter Diettrich
Juha Manninen schrieb:

> About preserving configuration: you should be able to add the local config files
> (like in ~/lazarus) under source control, too. They are just text files after
> all. Then "git checkout lazarus_experiment" would also bring up your
> experimental configuration.

This is not necessarily a good decision. Jumping back and forth in the
SVN history will influence the configuration, what is not always wanted.

Similarly the docs folders, they should be handled independently from
the source code.

DoDi


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus