|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Sat Oct 09, 2021 7:16 pm Post subject: 25 years old Treeview crash |
|
|
When Clearwin+ appeared ~25 years ago i tried its nice feature called treeview which i thought would simplify and catalog different applications of my code making finding anything in just few clicks. Making tree structure larger and more complex i got an error and despite the efforts it did not go away. At that time communication like today on such forums was not that transparent and when you get some error or bug you might be forced to stop or postpone the idea. Now you can ask users or developers and this helps very much.
Here is my question: i completely forgot but recently found 25 years old code which i abandoned due to bug or error. I may extract smaller code to demonstrate the bug but may be someone already had such error and this may save me time ? For those who are not familiar with Clearwin this all you see (and much more you don't) was done yet in Fortran77
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Sat Oct 09, 2021 9:10 pm Post subject: |
|
|
Dan
It looks like your program is exiting before you want it to. Maybe a %lw that is not working as planned. Prehaps then ClearWin+ is still trying to run and some variable (accessed by ClearWin+) is no longer live (in scope).
Look at the exit point. Add some print statements to act as a trace. Maybe avoid the %lw.
The original %tv was improved in %bv which may be more robust. |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Sun Oct 10, 2021 8:40 am Post subject: |
|
|
Thanks Paul for suggestions.
Tried some of them. This bug is definitely some devilry work Afraid i will not have enough free time to resolve it as ones i spent a month for that. Will look at %bv if switching from %tv is easy
The error message above suggests that something is wrong with the tree branches definitions which start with letters ABCDE etc depending on the level in the tree. I tried simples trees but things do not change which again suggests that the bug is not easy one.
But for future could be beneficial for bug hunting to make the error message like above more verbose to tell exactly which record is wrong. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Sun Oct 10, 2021 1:50 pm Post subject: |
|
|
Dan
If you can't trim the program down then you can send it to me as it is. But I won't be able to look at it for a few weeks as there is a backlog of issues to resolve. |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2390 Location: Yateley, Hants, UK
|
Posted: Mon Oct 11, 2021 5:36 pm Post subject: |
|
|
Dan,
Isn't the error message explicit? Or is it something else?
Eddie |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Mon Oct 11, 2021 10:24 pm Post subject: |
|
|
Eddie, Most probably it's something else. I have working demo code which creates file with tree view. This file this demo code can load again with no complaints. When i use this file with real code it crashes.
Anyway, i will probably give up and postpone with tree view for the next 25 years. It is cool and useful feature but i do not have time to further develop it even if this bug will be fixed. The initial idea was to keep the most important basic things there like code self-testing or minimal settings for most used variants. But most probably what would happen if i succeeded 25 years ago is that this tree would be today so large that it again could be unusable and require further tricks to sort the bookmarks. I currently use 7 Total Commanders open at the same time of different color to distinguish them better, each has around 100 of bookmarks (Ctrl+D) and despite additional notes and comments i'm still totally lost in all that. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Tue Oct 12, 2021 6:48 am Post subject: |
|
|
Dan
You seem to imply that this particular failure is due to a bug in ClearWin+. From the traceback this seems to me to be very unlikely but my offer to investigate it stands. All you need to do is zip up the whole project and send it to me. |
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2556 Location: Sydney
|
Posted: Tue Oct 12, 2021 7:47 am Post subject: Re: |
|
|
DanRRight wrote: | I currently use 7 Total Commanders |
Dan, do you use the "Total Commander" application, which I thought was derived from XTree ? Is it still available for Win7/10/11 ?
I use FTN95's "files8@" all the time to search for files, especially recent files or files related to a project.
I have considered combining files@ with tree view to get a viewer that does what I want. I am wondering how useful you are finding the Tree View approach ? |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Tue Oct 12, 2021 9:47 pm Post subject: |
|
|
John,
I do not know how useful TreeView is as i had no chance to use it for longer period of time than just while playing with it. I feel it is very useful for few things but will it substitute mighty Total Commander with its 30 years and 83 million visits ( link to it is www.ghisler.com )?
I was trying with TreeView to mimic Total Commander directly gluing it into the code but not sure i would succeed. It is like preset Files@ for specific task, where you just click on name "Code Self Test" or "Classic Case1 for Laser Plasma" or "Laboratory Report 2012" or "Canadian project 2021" and you already there, all present, you see all files, all results and if you need to run you do not need to search anything on your computer you just click "Start Run" and if you need to view or edit you also just click on file. For even better convenience i glued TreeView with ListView as you can see on my picture above
Paul,
I think i reproduced the crash in small code but after removing it there still exist other problem, causing different crash which i'm looking at now. Crash with these mentioned missing C and E is also reproduceable with TREEVIEW code in Clearwin Salford Examples if number of entries is lower than dimension. Now will try to use %bv |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Wed Oct 13, 2021 9:29 pm Post subject: |
|
|
Paul,
I found this program for %bv called dialog.f90 which was made with MS Dev.Studio with its resource file which immediately makes simple things, like FTN95 usually has, unnecessary messy. Besides without icons it looks ugly. Do you have an example without MS like the one in FTN95 examples\clearwin\TREVIEW.F90?
Code: | WINAPP 'resource.rc'
PROGRAM dialog
IMPLICIT NONE
INCLUDE <windows.ins>
INCLUDE 'resource.inc'
INTEGER,PARAMETER::N=4,M=4
INTEGER wr,s1(N-1),s2,start_cb,save_cb
EXTERNAL start_cb,save_cb
CHARACTER*16 items1(N),items2(M)
s1=0
wr=winio@('%di&',IDD_DIALOG1)
wr=winio@('%?ib[flat][Toolbar item]&',IDC_STATIC1,'explore',4,save_cb)
wr=winio@('%?lv[][List view]&',IDC_LIST1,items1,N,s1,1)
wr=winio@('%?bv[][Tree view]&',IDC_TREE1,items2,M,s2)
wr=winio@('%?gr[green,rgb_colours][Graphics region]&',IDC_STATIC2)
wr=winio@('%?bt[OK button]&',IDOK)
wr=winio@('%sc',start_cb)
END
INTEGER FUNCTION start_cb()
INCLUDE <windows.ins>
INTEGER w,h
w=clearwin_info@('GRAPHICS_WIDTH')
h=clearwin_info@('GRAPHICS_DEPTH')
CALL draw_filled_ellipse@(w/2,h/2,w/3,h/4,255)
start_cb=1
END
INTEGER FUNCTION save_cb()
INTEGER wr,winio@
wr=winio@('%ca[Message]%bg[grey]Toolbar item.')
save_cb=1
END |
By the way here is how looked my TreeView before it was abandoned decades ago when i ran it today. On top is Settings dialog box allowing to assign icons, directories etc to the item in the TreeView list. Of course it was pity to get the bug i had no time to fix. ListView showing all TotalCommander-like (or XTree-like, or NortonCommander-like) file attributes like Eddie recently showed
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Thu Oct 14, 2021 9:46 am Post subject: |
|
|
Dan
Here is a program that I have extracted from a program called demo.f95 which can be downloaded from https://www.dropbox.com/s/hp27kjbq56g8anw/demo.zip?dl=0.
Code: | INTEGER FUNCTION exTr()
INTEGER,PARAMETER::N_ITEMS=10
CHARACTER(30) contents(N_ITEMS)
INTEGER item,iw,winio@
DATA contents /'AEBBook', &
'BCAChapter 1', 'CCASection 1.1', 'CCASection 1.2', &
'BCAChapter 2', 'CCASection 2.1', 'CCASection 2.2', &
'BCAChapter 3', 'CCASection 3.1', 'CCASection 3.2'/
item = 1
iw = winio@("%ww%pv&")
iw = winio@("%ca[ClearWin+]&")
iw = winio@("%`bv[has_buttons,has_lines,lines_at_root,paired_bitmaps,24bits]", &
200,160,contents,N_ITEMS,item,"closed,opened")
exTr = 2
END FUNCTION exTr
WINAPP
PROGRAM main
INTEGER r
INTEGER,EXTERNAL::exTr
r = exTr()
END PROGRAM
RESOURCES
closed BITMAP closeb.bmp
opened BITMAP openb.bmp
|
|
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Fri Oct 15, 2021 11:03 pm Post subject: |
|
|
Many thanks, Paul. Indeed looks incredibly simple (compared to %tv). Will see if it is more feature rich and is stable to users' torture |
|
Back to top |
|
|
DanRRight
Joined: 10 Mar 2008 Posts: 2826 Location: South Pole, Antarctica
|
Posted: Sat Oct 16, 2021 5:10 am Post subject: |
|
|
Paul,
Here is first problem with %bv. If you do small change in the demo code above by placing CONTENTS variable out of DATA it works as it should be. But if you remove couple entries like shown below, the EXE does not even start, including in debugger. Even worse, after this program will fail, when you return to first working program and compile it - it also fails to run (!!!). You will need to move sources to different folder and recompile
The treeview %tv in such situation being compiled with /undef gives the error ( with C and E mentioned above in first post ) and crash.
Formally what i have done is creating an error but this is what for sure will happen with CONTENTS files during program use due to million reasons. I'd still allow it to run giving user some warning, or he will not find the bug for 25 years ;(
Code: | INTEGER FUNCTION exTr()
INTEGER,PARAMETER::N_ITEMS=10
CHARACTER(30) contents(N_ITEMS)
INTEGER item,iw,winio@
! DATA contents /'AEBBook', &
! 'BCAChapter 1', 'CCASection 1.1', 'CCASection 1.2', &
! 'BCAChapter 2', 'CCASection 2.1', 'CCASection 2.2', &
! 'BCAChapter 3', 'CCASection 3.1', 'CCASection 3.2'/
contents(1) = 'AEBBook'
contents(2) = 'BCAChapter 1'
contents(3) = 'CCASection 1.1'
contents(4) = 'CCASection 1.2'
contents(5) = 'BCAChapter 2'
contents(6) = 'CCASection 2.1'
contents(7) = 'CCASection 2.2'
contents(8) = 'BCAChapter 3'
!contents(9) = 'CCASection 3.1'
!contents(10) = 'CCASection 3.2'
item = 1
iw = winio@("%ww%pv&")
iw = winio@("%ca[ClearWin+]&")
iw = winio@("%`bv[has_buttons,has_lines,lines_at_root,paired_bitmaps,24bits]", &
200,160,contents,N_ITEMS,item,"closed,opened")
exTr = 2
END FUNCTION exTr
WINAPP
PROGRAM main
INTEGER r
INTEGER,EXTERNAL::exTr
r = exTr()
END PROGRAM
RESOURCES
closed BITMAP closeb.bmp
opened BITMAP openb.bmp |
For all - if you want to run this code make two bmp icons 16x16 pixels shown in RESOURCES file
The %bv is more stable than %tv at least with respect to mentioned C and E because if you initialize variable
contents(=' '
the %bv does not complain about missing entries |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Sat Oct 16, 2021 7:47 am Post subject: |
|
|
Dan
I have made a note of your request. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7932 Location: Salford, UK
|
Posted: Mon Oct 18, 2021 11:26 am Post subject: |
|
|
%bv has now been improved for the next release of ClearWin+.
Additional checks have been added.
Also users will be able to make a call to clearwin_option@("undef") combined with /CHECKMATE on the FTN95 command line. This will generate a runtime error when the data strings are not defined. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|