1. EditText Bug?

Hey Guys,

I seem to have a bug or something. It won't let me input text in an editbox, even though there dosen't seem to be anything from preventing it from doing that. I'll post my code to see if anyone can see why?

constant MainWin = createEx(Window,"Frost Editor - DarkScar Games",0,Default,Default,640,480,0,0), 
NPWin = createEx(Window,"New Project Settings",MainWin,0,0,640,480,{WS_CHILD,WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
EDWin = createEx(Window,"Edit Project",MainWin,0,0,640,480,{WS_CHILD,WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
TPWin = createEx(Window,"",0,Default,Default,640,480,0,0), 
MUWin = createEx(Window,"Music Player",0,Default,Default,640,480,0,0), 
DAWin = createEx(Window,"Drawing Editor",0,Default,Default,640,480,0,0), 
COWin = createEx(Window,"Coding Editor",0,Default,Default,640,480,0,0), 
MAWin = createEx(Window,"Map Editor",0,Default,Default,640,480,0,0), 
ANWin = createEx(Window,"Animation Editor",0,Default,Default,640,480,0,0), 
EVWin = createEx(Window,"Event Editor",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
EVWin2 = createEx(Window,"Event List",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
EVWin3 = createEx(Window,"Event Settings",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
OPWin = createEx(Window,"Frost Options",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
OPWin2 = createEx(Window,"Map Options",MAWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
LVWin = createEx(Window,"Level Up System",EDWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), 
MainStatus = createEx(StatusBar,"RPG Development Kit",MainWin,0,0,0,0,0,0), 
MusicStatus = createEx(StatusBar,"",MUWin,0,0,0,0,0,0), 
DrawStatus = createEx(StatusBar,"",DAWin,0,0,0,0,0,0), 
CodeStatus = createEx(StatusBar,"",COWin,0,0,0,0,0,0), 
MapStatus = createEx(StatusBar,"",MAWin,0,0,0,0,0,0), 
AniStatus = createEx(StatusBar,"",ANWin,0,0,0,0,0,0), 
EveStatus = createEx(StatusBar,"",EVWin,0,0,0,0,0,0), 
CodeText = createEx(RichEdit,"",COWin,Default,Default,640,480,0,0) 
 
constant Tabber = createEx(TabControl,"",OPWin,10,30,530,430,0,0), 
Tab_Frost = createEx(TabItem,"Frost Options",Tabber,0,0,0,0,0,0), 
Tab_Game = createEx(TabItem,"Game Options",Tabber,0,0,0,0,0,0), 
Tab_Day = createEx(TabItem,"Day&&Night",Tabber,0,0,0,0,0,0), 
Tab_FC = createEx(TabItem,"Frost Code",Tabber,0,0,0,0,0,0), 
Tab_Multi = createEx(TabItem,"Multitasking",Tabber,0,0,0,0,0,0), 
Tab_Plug = createEx(TabItem,"Plugins",Tabber,0,0,0,0,0,0) 
 
constant Bit_8_Rad = createEx(Radio,"8-Bit",Tab_Game,10,30,80,20,0,0), 
Bit_16_Rad = createEx(Radio,"16-Bit",Tab_Game,10,60,80,20,0,0), 
Bit_24_Rad = createEx(Radio,"24-Bit",Tab_Game,10,90,80,20,0,0), 
Bit_32_Rad = createEx(Radio,"32-Bit",Tab_Game,10,120,80,20,0,0) 
 
constant Full_Screen_Check = createEx(CheckBox,"Full Screen",Tab_Game,10,150,80,20,0,0), 
Windowed_Check = createEx(CheckBox,"Windowed",Tab_Game,10,180,80,20,0,0), 
Custom_Check = createEx(CheckBox,"Custom",Tab_Game,10,210,80,20,0,0) 
 
constant X_Text = createEx(LText,"X:",Tab_Game,10,240,30,20,0,0), 
X_Edit = createEx(EditText,"",Tab_Game,40,240,40,22,0,0), 
Y_Text = createEx(LText,"Y:",Tab_Game,90,240,30,20,0,0), 
Y_Edit = createEx(EditText,"",Tab_Game,120,240,40,22,0,0) 
 
integer FullScreenChecked, 
FullScreenNotChecked, 
WindowedChecked, 
WindowedNotChecked, 
CustomChecked, 
CustomNotChecked 
 
FullScreenChecked = 0 
FullScreenNotChecked = 1 
WindowedChecked = 0 
WindowedNotChecked = 1 
CustomChecked = 0 
CustomNotChecked = 1 
 
setEnable(X_Edit,w32False) 
setEnable(Y_Edit,w32False) 
 
 
procedure Full_Screen_Checks(integer self, integer event, sequence parm) 
	if FullScreenNotChecked = isChecked(Full_Screen_Check) then 
		setEnable(Windowed_Check,w32False) 
		setEnable(Custom_Check,w32False) 
	elsif FullScreenChecked = isChecked(Full_Screen_Check) then 
		setEnable(Windowed_Check,w32True) 
		setEnable(Custom_Check,w32True) 
	end if 
end procedure 
setHandler(Full_Screen_Check,w32HClick,routine_id("Full_Screen_Checks")) 
 
procedure Windowed_Checks(integer self, integer event, sequence parm) 
	if WindowedNotChecked = isChecked(Windowed_Check) then 
		setEnable(Full_Screen_Check,w32False) 
		setEnable(Custom_Check,w32False) 
	elsif WindowedChecked = isChecked(Windowed_Check) then 
		setEnable(Full_Screen_Check,w32True) 
		setEnable(Custom_Check,w32True) 
	end if 
end procedure 
setHandler(Windowed_Check,w32HClick,routine_id("Windowed_Checks")) 
 
procedure Custom_Checks(integer self, integer event, sequence parm) 
	if CustomNotChecked = isChecked(Custom_Check) then 
		setEnable(Full_Screen_Check,w32False) 
		setEnable(Windowed_Check,w32False) 
		setEnable(X_Edit,w32True) 
		setEnable(Y_Edit,w32True) 
	elsif CustomChecked = isChecked(Custom_Check) then 
		setEnable(Full_Screen_Check,w32True) 
		setEnable(Windowed_Check,w32True) 
		setEnable(X_Edit,w32False) 
		setEnable(Y_Edit,w32False) 
	end if 
end procedure 
setHandler(Custom_Check,w32HClick,routine_id("Custom_Checks")) 

I probably posted more code than was needed, but hopefuly someone will be able to see why.

new topic     » topic index » view message » categorize

2. Re: EditText Bug?

Uh... I get an empty window when I run...

WinMain( MainWin, Normal ) 

-Greg

new topic     » goto parent     » topic index » view message » categorize

3. Re: EditText Bug?

Oh I'm sorry its

WinMain(MainWin,Maximized) 

If that dosen't work, then I guess I'll have to post the full sourcecode

new topic     » goto parent     » topic index » view message » categorize

4. Re: EditText Bug?

I got nothin'. Just an empty window and a status bar. getlost

We need some sort of "attachment" system for this forum, so we can upload files to a thread for reference...

-Greg

new topic     » goto parent     » topic index » view message » categorize

5. Re: EditText Bug?

Oh I'm sorry, there was more code that I needed to post, well here is what was needed

constant File = createEx(Menu,"&File",MainWin,0,0,0,0,0,0), 
File_New_Project = createEx(MenuItem,"New Project",File,0,0,0,0,0,0), 
File_Open_Project = createEx(MenuItem,"Open Project",File,0,0,0,0,0,0), 
File_Close_Project = createEx(MenuItem,"Close Project",File,0,0,0,0,0,0), 
File_Sep = createEx(MenuItem,"-",File,0,0,0,0,0,0), 
File_Save_Project = createEx(MenuItem,"Save Project",File,0,0,0,0,0,0), 
File_SaveAs_Project = createEx(MenuItem,"Save As Project",File,0,0,0,0,0,0), 
File_SaveAllFiles = createEx(MenuItem,"Save All Files",File,0,0,0,0,0,0), 
File_Sep2 = createEx(MenuItem,"-",File,0,0,0,0,0,0), 
File_Frost_Option = createEx(MenuItem,"Frost Options",File,0,0,0,0,0,0), 
File_Sep3 = createEx(MenuItem,"-",File,0,0,0,0,0,0), 
File_Make_Exe = createEx(MenuItem,"Make Exe",File,0,0,0,0,0,0), 
File_Sep4 = createEx(MenuItem,"-",File,0,0,0,0,0,0), 
File_Exit = createEx(MenuItem,"Exit",File,0,0,0,0,0,0) 
 
setEnable(X_Edit,w32False) 
setEnable(Y_Edit,w32False) 
 
constant StatusMain = {MainStatus, 1}, 
		 StatusDate = {MainStatus, 2}, 
		 StatusTime = {MainStatus, 3}, 
		  
		 Timer = 1 
		  
constant DAYS = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"} 
 
procedure setDateTime() 
	sequence dt, ampm, the_date, the_time 
	 
	dt = getLocalTime() 
	 
	ampm = "AM" 
	if dt[5] > 12 then 
		dt[5] -= 12 
		ampm = "PM" 
	elsif dt[5] = 0 then 
		dt[5] = 12 
	end if 
	 
	the_date = sprintf("%s %02d/%02d/%04d", {DAYS[dt[3]+1], dt[2], dt[4], dt[1]}) 
	 
	the_time = sprintf("%02d:%02d:%02d %s", {dt[5], dt[6], dt[7], ampm}) 
	 
	setText(StatusDate, the_date) 
	setText(StatusTime, the_time) 
	 
end procedure 
 
procedure MainWin_onActivate(integer self, integer event, sequence parm) 
	setDateTime() 
	setTimer(MainWin,Timer,1000) 
	 
end procedure 
setHandler(MainWin, w32HActivate, routine_id("MainWin_onActivate")) 
 
procedure MainWin_onResize(integer self, integer event, sequence parm) 
	sequence rect 
	 
	rect = getClientRect(MainWin) 
	setSubFields(MainStatus, {rect[3]-180, -90, -1}) 
	 
end procedure 
setHandler(MainWin,w32HResize, routine_id("MainWin_onResize")) 
 
procedure MainWin_onTimer(integer self, integer event, sequence parm) 
	if parm[1] = Timer then 
		setDateTime() 
	end if 
	 
end procedure 
setHandler(MainWin, w32HTimer, routine_id("MainWin_onTimer")) 
 
procedure MainWin_onClose(integer self, integer event, sequence parm) 
	killTimer(MainWin,Timer) 
end procedure 
setHandler(MainWin,w32HClose,routine_id("MainWin_onClose")) 
 
procedure Open_Frost_Options(integer self, integer event, sequence parm) 
	openWindow(OPWin,Normal) 
end procedure 
setHandler(File_Frost_Option,w32HClick,routine_id("Open_Frost_Options")) 
new topic     » goto parent     » topic index » view message » categorize

6. Re: EditText Bug?

Well I can see you're calling setEnable(X/Y_Edit,w32False). Is it those X/Y_Edit boxes you're having an issue with? If so, it's because they're disabled. I didn't have any problems typing into the CodeText box (once I made a View > Code Editor menu to launch it blink).

-Greg

new topic     » goto parent     » topic index » view message » categorize

7. Re: EditText Bug?

Andy said...

I seem to have a bug or something. It won't let me input text in an editbox, even though there dosen't seem to be anything from preventing it from doing that. I'll post my code to see if anyone can see why?

Yep, there is a bug and I can't find it so far. However, the problem is not that it is stopping you from entering stuff in those fields, just that you can't click those fields to make them get focus.

If you click the "Custom" option then tab into those fields it works. Or if you add a setFocus() call it also works. So the problem is that it is not accepting left-mouse clicks. I sort of remember something about this so I'll back to you soon.

new topic     » goto parent     » topic index » view message » categorize

8. Re: EditText Bug?

Why is this thread broken, too? getlost

-Greg

new topic     » goto parent     » topic index » view message » categorize

9. Re: EditText Bug?

I see thanks for helping me with this.

new topic     » goto parent     » topic index » view message » categorize

10. Re: EditText Bug?

ghaberek said...

Why is this thread broken, too? getlost

I think it's an issue with the forum, where it has problems if you don't close a eucode tag or if there's no newline at the end.

Matt

new topic     » goto parent     » topic index » view message » categorize

11. Re: EditText Bug?

mattlewis said...
ghaberek said...

Why is this thread broken, too? getlost

I think it's an issue with the forum, where it has problems if you don't close a eucode tag or if there's no newline at the end.

Matt

Hey Guys, has anyone figured out the bug yet? I know of a workaround I could use, but it would take a lot of code, I'll try to see if I can fix the bug, but, its gonna be tough, because everything seems to be working ok, except for that bug.

new topic     » goto parent     » topic index » view message » categorize

12. Re: EditText Bug?

Andy said...

Hey Guys, has anyone figured out the bug yet?

I'm actually uploading a fix to win32lib right now for this (and a couple of other things).

new topic     » goto parent     » topic index » view message » categorize

13. Re: EditText Bug?

You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site

If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.

Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.

new topic     » goto parent     » topic index » view message » categorize

14. Re: EditText Bug?

DerekParnell said...

You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site

If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.

Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.

Yes I am using the latest version and I have your patch and it is now working, I can input text in the fields, thanks for the fix.

new topic     » goto parent     » topic index » view message » categorize

15. Re: EditText Bug?

DerekParnell said...

You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site

If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.

Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.

Hi Derek,

I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.

What value to be used for SM_GETEVENTMASK ?

Thanks & Regards, Rad.

new topic     » goto parent     » topic index » view message » categorize

16. Re: EditText Bug?

Rad said...

I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.

What value to be used for SM_GETEVENTMASK ?

Are you sure you don't mean EM_GETEVENTMASK?

There is no SM_GETEVENTMASK used anywhere in Win32lib or in thw Windows SDK.

new topic     » goto parent     » topic index » view message » categorize

17. Re: EditText Bug?

Yes, Rad means EM_GETEVENTMASK. And yes, if you run Euphoria with that Win32Lib it comes up with that error:

C:\euphoria\win32lib\Win32Lib.ew:21507 
EM_GETEVENTMASK has not been declared 
    mask = sendMessage(id,EM_GETEVENTMASK,0,0) 
                                        ^ 

It would be simple to put in but I don't know value it should be.

Andy

new topic     » goto parent     » topic index » view message » categorize

18. Re: EditText Bug?

AndyDrummond said...

Yes, Rad means EM_GETEVENTMASK. And yes, if you run Euphoria with that Win32Lib it comes up with that error:

This seems to be a 'version' mismatch problem.

The simplest would be for you to get the latest copy of the respository, using SVN.

However, you can also find revision 50 at http://www.users.bigpond.com/ddparnell/win32lib_r50.zip (1.8MB)

new topic     » goto parent     » topic index » view message » categorize

19. Re: EditText Bug?

Derek,

I downloaded your version 50 and we still have a problem. I have this error:

C:\euphoria\win32lib\include\Win32Lib.ew:7404 in procedure setBackground() 
variable lNewBrush has not been assigned a value 
 
... called from Win32Lib.ew:13509 in function createEx() 
... 

Andy

new topic     » goto parent     » topic index » view message » categorize

20. Re: EditText Bug?

DerekParnell said...
Rad said...

I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.

What value to be used for SM_GETEVENTMASK ?

Are you sure you don't mean EM_GETEVENTMASK?

There is no SM_GETEVENTMASK used anywhere in Win32lib or in thw Windows SDK.

Sorry, my typo. It is EM_GETEVENTMASK.

If I can set a value to this constant (may be in w32constants.ew) what should it be ?

Regards, Rad.

new topic     » goto parent     » topic index » view message » categorize

21. Re: EditText Bug?

AndyDrummond said...

I downloaded your version 50 and we still have a problem. I have this error ...

Thanks Andy. While fixing the previous bug I noticed another bug and made a fix for that too, but forgot to test it. I've cleaned up my mess now.

You can look at the SourceForge Repository to see which files I've touched. This patch is rev #51.

new topic     » goto parent     » topic index » view message » categorize

22. Re: EditText Bug?

Rad said...

If I can set a value to this constant (may be in w32constants.ew) what should it be ?

Try picking up the current revision of the whole library at http://www.users.bigpond.com/ddparnell/Euphoria/win32lib_r51.zip (1.8MB)

new topic     » goto parent     » topic index » view message » categorize

23. Re: EditText Bug?

That's great, Derek. It holds together OK for the miniscule amount of testing I can do in a few minutes. It alarms me how long it would take to test all of Win32Lib - like forever, really.

Are you looking after this library for now, or is this a one-off taking care of people from the kindness of your heart? I hope you are, but I wouldn't be surprised if you didn't want the job again.

Thanks very much for your efforts, though.

Andy

new topic     » goto parent     » topic index » view message » categorize

24. Re: EditText Bug?

Oh-oh!

Win32LibVersionEx() seems to have disappeared from the previous working library. I ran IDE.exw which runs OK on the last Win32Lib I have been using - 0.70.4a. It is a minor thing, I guess, but if it was there and isn't now, that is a shame. I tend to run IDE.exw as it uses more of the Win32Lib that any other one program I know.

Andy

new topic     » goto parent     » topic index » view message » categorize

25. Re: EditText Bug?

AndyDrummond said...

Are you looking after this library for now ...

There are a number of people who can do updates to the sourceforge repository, I just happened to be passing by this time blink

  • Christian Cuvier
  • Dan Moyer
  • David Cuny
  • Derek Parnell
  • Matt Lewis

If anyone else is interested in joining this group, just let me know.

new topic     » goto parent     » topic index » view message » categorize

26. Re: EditText Bug?

This is odd. I can find no *.e or *.ew file which refers to Win32LibVersion... in either Win32Lib 0.70.4a or this latest 0.70.5.1 ("51") and yet when I run IDE.exw it fails on the latter but not the former. I don't understand. An older IDE.ew runs on the latest library, but not the latest Judith offering which I have used for some six months or more now. And the latest IDE.exw fails with "51" because it can't find the constant Win32LibVersionEx[]. Durrr...

IDE fails in IDE_about.ew line 108 which tries to use the ASCII value from Win32LibVersionEx[1..5] in a setText() call. I could frig it I suppose...

Andy

new topic     » goto parent     » topic index » view message » categorize

27. Re: EditText Bug?

AndyDrummond said...

Win32LibVersionEx() seems to have disappeared ...

Yes it has. I got rid of it as it was redundant and should never have been there. All it did was add a 4th 'revision' identifier to the three already there, and it did it in an inefficient manner.

In the IDE file "includes\IDE_about.ew", replace line 108 from

setText(LText8,sprintf(MsgNos[10][3] ,{Win32LibVersionEx[1],Win32LibVersionEx[2],Win32LibVersionEx[3],Win32LibVersionEx[4]} ) & " " & Win32LibVersionEx[5]) 

to

setText(LText8,sprintf(MsgNos[10][3] ,{Win32LibVersion[1],Win32LibVersion[2],Win32LibVersion[3],""} ) & " " & Win32LibVersion[4]) 
 

I'll get on to updating the IDE code, once I convert the repository over to SVN too.

new topic     » goto parent     » topic index » view message » categorize

28. Re: EditText Bug?

Fine. I did that change - more or less - so all is well. You know I hate posting problems, it always sounds to me like criticism, but you guys all do a fantastic job to keep us simple guys coding. And what easier way to write code than in Euphoria with these libraries and Judith's IDE?

Andy

new topic     » goto parent     » topic index » view message » categorize

29. Re: EditText Bug?

AndyDrummond said...

Fine. I did that change - more or less - so all is well. You know I hate posting problems, it always sounds to me like criticism, but you guys all do a fantastic job to keep us simple guys coding. And what easier way to write code than in Euphoria with these libraries and Judith's IDE?

Andy

Hi All,

I downloaded win32lib_r50.zip and used the required values of following constants/variables in win32lib v0.70.5 -

In win32constants.ew

    -- RichEdit mask flags 
    ENM_CHANGE = 1, 
 
    EM_GETEVENTMASK = #043B, 

Also in win32lib.ew (required for EuIDE to work properly)

--/topic Constants 
--/const Win32LibVersionEx 
--/desc Contains the current version of win32lib library. 
-- This is a sequence containing five elements. /n 
--/li Major version number (integer) 
--/li Minor version number (integer) 
--/li Patch or /i Revision number (integer) 
--/li Revision for patch (character) 
--/li Date of the version in DD-Mmm-YYYY format (string) 
-- 
-- The indexes of these parts are known as Win32libVersionExMajor, Win32libVersionExMinor, 
-- Win32libVersionExPatch, Win32libVersionExRevision and Win32libVersionExDate, respectively. 
-- 
-- If there is no revision letter, the latter is a space 
-- 
--Example 
--/code 
--       setText(SB, sprintf("Win32Lib version %d.%d Patch#%d%s, %s", 
--                            Win32LibVersion)) 
-- or, if you don't want the extra space when there is no revision letter: 
--       setText(SB, sprintf("Win32Lib version %d.%d Patch#%d" 
--                             & w32iff(Win32LibVersionEx[Win32libVersionExRevision]=' ',"","%s") -- letter or nothing 
--                             & ", %s",                                  -- the date 
--                            Win32LibVersionEx)) 
--/endcode 
global constant 
    Win32LibVersionEx = {0,70,5,0, "13-Feb-2009"}   -- {Major, Minor, Patch, Revision, Date} 
global constant 
    Win32libVersionExMajor = Win32libVersionMajor, 
    Win32libVersionExMinor = Win32libVersionMinor, 
    Win32libVersionExPatch = Win32libVersionPatch, 
    Win32libVersionExRevision = 4, 
    Win32libVersionExDate = 5 

Now mouse clicks on EditText are working and I could do away with my workaround. Thanks for the fix.

One more issue:

Once EditText is disabled using setEnable(abc, w32false), it does not get back its original background colour after using setEnable(abc, w32True) though that EditText gets enabled properly.

I will download and try out w32lib 51 too.

Thanks & Regards, Rad.

new topic     » goto parent     » topic index » view message » categorize

30. Re: EditText Bug?

Rad said...

Once EditText is disabled using setEnable(abc, w32false), it does not get back its original background colour after using setEnable(abc, w32True) though that EditText gets enabled properly.

I've found this bug. It has to do with the simplistic method used to indicate 'disabled' text. I'll have a fix ready soon.

new topic     » goto parent     » topic index » view message » categorize

31. Re: EditText Bug?

AndyDrummond said...

That's great, Derek. It holds together OK for the miniscule amount of testing I can do in a few minutes. It alarms me how long it would take to test all of Win32Lib - like forever, really.

Are you looking after this library for now, or is this a one-off taking care of people from the kindness of your heart? I hope you are, but I wouldn't be surprised if you didn't want the job again.

Thanks very much for your efforts, though.

Andy

One thing I had planned to do is to run a code coverage analysis on all demos, using the profiling facility. This would, after quite some work, tell which lines of codes are being used in the demos, and which aren't. Then, at least add demos that use lins not curently being run. Also, write a series of nondemos demonstrating error cases - for developers only.

Unit testing is not going to help a lot, since testing the library involves random interaction, including with non-win32lib apps. But given that there is hardly a standing bug and that the above process will probably unearth more opportunities to correct code, I expect significantly useful outcome.

CChris

new topic     » goto parent     » topic index » view message » categorize

32. Re: EditText Bug?

CChris,

In my experience of software testing, you have two kinds - testing with known valid data, and testing with random data. In the second case, we would find Euphoria just crashing at almost every turn, which is fine, if a little useless. In the first case we'd need to define the range of valid data and test against some useful subset of that. But just trying to decide what constitutes valid data and doing that testing, would be a mammoth undertaking. Combined with executing the various tasks in all the various valid arrangements would make the whole thing just terrifying!

I don't want to put you off, of course, but I do wonder if it is in fact better to do what the car manufacturers do - let the user discover the bugs and then put them right! Plus a certain amount of more general testing. Caveat actor ... my Latin is bad ... Let the user beware?

But all testing is of immense value - it does, at least, get rid of the silly errors. So don't let me put you off, M.Cuvier!

Andy

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu