Editor 3.42 and Win XP

Working on new editor enhancements?
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by ebs.

In my never-ending quest to figure out why the PureBasic Editor v3.42 doesn't show anything in the Procedure Browser under Win XP Pro, I DL'ed the source for v3.41 from the PureBasic Resources Site.

My question:
Why do the following statements (from PickColor.pb) cause an error during compilation? ("LSet() : Incorrect number of parameters.)

ProcedureReturn LSet(Str(Value),3,"0")
ProcedureReturn "$"+LSet(Hex(Value),2,"0")

According to the Help file, the syntax for the LSet keyword is correct.

Just for information sake, after I rewrote the two statements above to eliminate "LSet()", everything compiled correctly to an executable. Unfortunately, the compiled program still has an empty Procedure Browser.

I don't know why this code (from ProcedureParser.pb) doesn't find the procedures; it certainly seems like it should work.

CompareMemoryString(*WordStart, "procedure ", 1, 10)...

Has anyone else experimented with getting this to work under Win XP? From the messages I've seen in the Forums, other operating systems don't seem to have this problem, just XP.

Looking for help/suggestions,
Eric
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by ebs.

Sorry about the double post. After posting the message, I got an IIS error from the web site (Too many connections) and pressed Reload. I guess that caused the double post.

Eric
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

I run XP all the day and it works fine here.. If you could trace back why nothing is displayed on your config, it would be very useful. See in 'ProcedureParser.pb' I guess. About LSet() it's because v3.40 has a bugged command.

Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by ebs.

Fred,

I think i got it!!!

In UpdateProcedureList() (see below), the text is copied from the RichEditGadget into a buffer (TextBuffer). In my case, nothing is copied!

The statement I added after the SendMessage_() call shows that the byte at the start of the TextBuffer is zero. This prevents ProcedureParser() from doing anything, because of the loop statement:

While (*TextBuffer\b)

Now, as to WHY nothing is copied from the RichEditGadget...
I think it *might* have something to do with the version of RICHED20.DLL which is used to create the RichEditGadget. I have seen a few web sites that mention that certain versions of this component are buggy, including the one in Windows XP. Can you please tell me the date and exact size (in bytes) of RICHED20.DLL on your system? It's in the Windows\System32 directory.

I REALLY hope this it is the reason, because I want my Procedure Browser!!!

[/quote]

Code: Select all

Procedure UpdateProcedureList()
    TextLength = SendMessage_(*RichEditGadget, #WM_GETTEXTLENGTH, 0, 0)
    TextBuffer = AllocateMemory(#MEM_UPDATEPROCEDURELIST, TextLength+1, 0)
    
    If TextBuffer
      SendMessage_(*RichEditGadget, #WM_GETTEXT, TextLength, TextBuffer)
      ChangeStatus("*TextBuffer = " + Str(*TextBuffer))
      ProcedureParser(TextBuffer)
      FreeMemory(#MEM_UPDATEPROCEDURELIST)
    EndIf
EndProcedure
[quote]Originally posted by fred

I run XP all the day and it works fine here.. If you could trace back why nothing is displayed on your config, it would be very useful. See in 'ProcedureParser.pb' I guess. About LSet() it's because v3.40 has a bugged command.

Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by PB.

> In my never-ending quest to figure out why the PureBasic Editor
> v3.42 doesn't show anything in the Procedure Browser under Win XP Pro

Works fine for me with Win XP Pro... (sorry!).
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by plouf.

it works in my XP only if i have not activated
nView (from Detonators) i guess there must some others progrs that confickt but dunno if it is editor,xp, or programs error

Christos
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

TextBuffer and *TextBuffer aren't the same variable. so it's ok. could make more test to see if the *TextBuffer\b is really null in the ProcedureParser() procedure ? Or may be you can join IRC at:
irc.debian.org
port 6667
channel #PureBasic

I would like kill this bug ASAP.

Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by ebs.

Fred,

Yes, when I examine *TextBuffer\b in ProcedureParser(), it *is* 0.
I'm still convinced that the text isn't being copied for some reason.

Eric
Originally posted by fred

TextBuffer and *TextBuffer aren't the same variable. so it's ok. could make more test to see if the *TextBuffer\b is really null in the ProcedureParser() procedure ? Or may be you can join IRC at:
irc.debian.org
port 6667
channel #PureBasic

I would like kill this bug ASAP.

Fred - AlphaSND
Post Reply