flat assembler
Message board for the users of flat assembler.

Index > IDE Development > Fresh 1.1.0 - work version uploaded.

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
I still can't make it worki Sad
I just don't understand it. When I set this flag in the main thread, it looks like it isn't set in the second one Confused
take a look here:
Code:
        stdcall ShowModal, [hProgressWnd], MSF_CENTER
        cmp     eax,MR_CANCEL
        jne     .terminate_search       ; of the search was cancelled, we set
        mov     [find_cancel_flag],1    ; [find_cancel_flag] to 1, and then we wait
                                        ; for the search routine to cleanup.
        invoke  WaitForSingleObject, [hFindInstance],-1

   .terminate_search:
        invoke  TerminateThread, [hFindInstance],0    

it also hangs, in FindRepalceThread this flag seems to be 0 all the time Confused
I'm sorry, but I just don't understand why it behaves like that. When I put a messagebox between setting the flag and calling WaitForSingleObject, the thread was closed properly... Confused Confused
Post 13 May 2004, 18:18
View user's profile Send private message Visit poster's website Reply with quote
pelaillo
Missing in inaction


Joined: 19 Jun 2003
Posts: 875
Location: Colombia
pelaillo
I have an idea in order to be ergonomic:
Having a dialog edit window the same size of the source edit window and the components bar pertaining to dialog edit window only.
Project manager window is independient of both of them.

All this because I'm going to use 99.9% of the time the source edit windows.
Post 13 May 2004, 18:20
View user's profile Send private message Yahoo Messenger Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 7420
Location: Kraków, Poland
Tomasz Grysztar
pelaillo wrote:
The same problem happens with for example spanish keyboard because there are chars composed by 2 keystrokes. i.e. a+' = á.
Asmedit does not handle them. I´m going to see how it is handled by other editors.


In fact, it was intended feature. With polish keyboard in Windows I've got some characters that can be written using two keystrokes, though the most freqently used method is to press one key altered by Alt. For example, polish ą character can be written by pressing Alt+a, or by pressing ~ and then a. If you want to enter ~ character, you have to press space after it. I didn't like it in my assembly editor, where I preferred to write ~ with one keystroke, as in DOS, so that's why I've disabled two-keystroke characters detection. I didn't though at that time that there might be some keyboard layouts where this feature is crucial. Maybe I should implement it as an another user-definable option of ASMEDIT control?
Post 13 May 2004, 18:34
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 492
Location: Norway
Tommy
Good idea, Privalov! Wink
Post 14 May 2004, 06:36
View user's profile Send private message Visit poster's website Reply with quote
LiuGuoHua(Chinese)



Joined: 26 Sep 2003
Posts: 25
LiuGuoHua(Chinese)
Hi ,JohnFound!

The following is translated from Chinese and the writer is zjlcc, here is something about chinese managing.(Sorry ZhangJi because of my poor English , I don't know whether my translating made your opinion known to JohnFound.)

1.Chinese (and other Unicode) characters are stored in 2 bytes and they are seperated from Ascii characters.
2.To input Chinese,you needn't use the "soft keyboard"(maybe you know the meaning, in chinese we call it so), instead we use a programme called "input method" , which translated the pressed keys to Unicode Chinese.
3.When a key is pressed,the ASMEDIT can receive 2 messages: WM_KEYDOWN and WM_CHAR.
4.If the "input method" is running, it hooked the processing of character inputting, and send message VK_PROCESSKEY[229 or E5] instead of the real key code.
5.when Chinese inputting is over, the "input method " send WM_CHAR to ASMEDIT, and so send the following ascii chars which make the Unicode.
6.VK_PROCESSKEY is a point to process Unicode ,you can use the API function to change Unicode to Ansi.
Post 14 May 2004, 09:24
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
decard wrote:
I still can't make it worki Sad


Hi, Decard.
I think I fixed it. Actually it needed more simple solutions, not more complex. Smile This take me some time to realize it. Wink
I uploaded changed version with several other bug fixes from the last two days on Fresh site. Please test the search engine on your machine. On mine it seems to work.

Regards.
Post 14 May 2004, 14:41
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
LiuGuoHua(Chinese) wrote:
Hi ,JohnFound!
The following is translated from Chinese and the writer is zjlcc, here is something about chinese managing.(Sorry ZhangJi because of my poor English , I don't know whether my translating made your opinion known to JohnFound.)


Thank you LiuGuoHua, thank you ZhangJi. I think it is more clear for me now.

btw: Only one question. It is clear for me how Chinese hieroglyphs are coded in UniCode. But how to code hundreds or thousends hieroglyphs in 8bit ASCII code? AsmEdit is ASCII based, the first half of ASCII table is ocuped with english alphabet which is mandatory, so maximal number of characters free for foreign alphabets is something around 128. Or maybe chinese computers use only UniCode?

Regards.
Post 14 May 2004, 14:49
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
zjlcc



Joined: 23 Jul 2003
Posts: 32
Location: china
zjlcc
Code:
Smile
you know Unicode use two bytes,now have a Unicode Table to you

16bits           country?
0000-007F   ASCII
0080-00FF      Latin char
0100-017F European Latin
0180-01FF     Extended Latin
0250-02AF     Standard Phonetic
02B0-02FF  Modified Letters
0300-036F   Generic Diacritical Marks
0370-03FF  Greek
0400-04FF      Cyrillic
0530-058F   Armenian
0590-05FF   Hebrew
0600-06FF     Arabic
0900-097F     Devanagari

so all chars number > 65000

china GBK chars use 81-F7 (First Byte!)

if first_byte in <81-F7> then 
   search_china_Table(Second_byte)
.....
if (first_byte in <81-9F>) or (first_byte in <E0-FC>) then 
   search_Japan_Table(Second_byte)
.....

if user_input in "ASCII input method " then 
   input_char <=127
else if use "unicode input method" then
   key<> real Key
   key=VK_PROCESSKEY ==>send WM_KEYDOWN(VK_PROCESSKEY) to class main function
   Unicode input is over==>send WM_CHAR(Unicode Bytes) to class main function
end if

"china unicode input method" example:
  "china"     ASCII=zhongguo===> Unicode Chars=D6 D0,B9 FA
  "poland"   ASCII=bolan      ===> Unicode Chars=B2 A8,C0 BC
  "Bulgaria" ASCII=baojialiya===> Unicode Chars=B1 A3,BC D3,C0 FB,D1 C7

    
Post 15 May 2004, 02:03
View user's profile Send private message Reply with quote
zenek_tm



Joined: 21 Mar 2004
Posts: 33
Location: Poland
zenek_tm
JohnFound: The newest Fresh 1.1.2 crashes everytime when closing. When the error appears, the Project Manager window is still visible. However the access violation is caused by a function from windows dll. I don't know what to think about it. I hope that helps.
Post 15 May 2004, 12:30
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
zenek_tm wrote:
JohnFound: The newest Fresh 1.1.2 crashes everytime when closing. When the error appears, the Project Manager window is still visible. However the access violation is caused by a function from windows dll. I don't know what to think about it. I hope that helps.


Please, give some details: What OS? Do you open some project file or it crashes even on empty new project? Do you have files open in the editor or not? What DLL give the access violation?

Regards.
Post 15 May 2004, 12:52
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
OK, I fixed it. Until the next upload, you can correct it manually:

Code:
;file: HexEdit.asm
;line: approx 224...232

;Must become:

;----------- WM_DESTROY -------------------
.wmdestroy:
        xor     ecx, ecx
        call    .AllocMemory
        invoke  HeapFree, [hHeap], 0, edi ; <<<Here is the error.
        jmp     .qfalse

    


Regards.
Post 15 May 2004, 14:14
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
zenek_tm



Joined: 21 Mar 2004
Posts: 33
Location: Poland
zenek_tm
Your fix works. Thanks. And next time I'll try to be more specific Smile
Post 15 May 2004, 17:16
View user's profile Send private message Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
strange but sometimes when start search the whole project Fresh crashes inside KERNEL32.DLL. It's strange because it doesn't happen always Confused
Post 15 May 2004, 19:46
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
decard wrote:
strange but sometimes when start search the whole project Fresh crashes inside KERNEL32.DLL. It's strange because it doesn't happen always Confused


Hm, it strange to crash on start. It never hapened on my computer. Try to set JIT and when the crash happens, follow the stack to find caller of kernel function. Sometimes kernel32.dll crash on wrong arguments (above bug, reported by zenek_tm was exactly this case - win2000 kernel32 crashes, Win98 - not)
Let they claim NT is more stabble. Wink

Regards.
Post 15 May 2004, 20:44
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1095
Location: Poland
decard
that's terribly stupid bug. When I made OllyDbg my JIT debugger, it hangs the system when this crash happens. Windows shows the following:
Code:
PAGE FAULT in KERNEL32.DLL at 0167:bff7a138.
Rejestry:
EAX=08742e64 CS=0167 EIP=bff7a138 EFLGS=00010206
EBX=00439d94 SS=016f ESP=0056ee34 EBP=0056ee74
ECX=41460074 DS=016f ESI=00439abc FS=0fc7
EDX=415c4d53 ES=016f EDI=0874313c GS=4876
bytes at CS:EIP:
89 51 08 8b 53 08 8b 43 04 89 42 04 8d 93 0b 10
Stack:
0056ee74 000002d8 00439a94 00000028 bff7a3a0 00430000 00439abc 000002d8 00000000 0043000c
00430000 00439a94 00000000 00000000 00000439 0000043a     


none of the addresses on stack are in Fresh code.
Post 16 May 2004, 13:38
View user's profile Send private message Visit poster's website Reply with quote
zenek_tm



Joined: 21 Mar 2004
Posts: 33
Location: Poland
zenek_tm
I have found another bug.
I have written some complicated macros (see atachment). After compiling them few times Fresh 1.1.2 crashes during assembly stage in file LabelsList.asm in function CaptureLabelValues:
Code:
.childrenok:
        mov     edi, [esi+TLabel.ptrIntLabel]
        test    edi, edi
        jz      .next

        mov     eax, dword [edi+TIntLabel.Value]    ; <- this instruction causes access violation
        mov     edx, dword [edi+TIntLabel.Value+4]
        mov     [esi+TLabel.ValueLo], eax
        mov     [esi+TLabel.ValueHi], edx
    

If I change the name of one label (see note in file OOPmacros.asm), everything is working just fine.
It happens only on win2k Smile Again Smile
If you'll be unable to reproduce this bug, I'm not going to be surprised, because it looks like something very tricky.


Description:
Download
Filename: OOPmacros.zip
Filesize: 1.9 KB
Downloaded: 151 Time(s)

Post 19 May 2004, 15:41
View user's profile Send private message Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 492
Location: Norway
Tommy
Hi John!

I've started writing on a control for showing (and editing) the stack for the Fresh Debugger. Do we need this? And if we do, am I going to continue on it? (Note: this is just a sketch...)

Regards,
Tommy


Description: StackEd32 Control
Download
Filename: StackEd.asm
Filesize: 5.63 KB
Downloaded: 148 Time(s)

Post 24 May 2004, 16:10
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
Tommy wrote:
Hi John!


Hi Tommy. Sorry for the delayed answer.

Quote:
I've started writing on a control for showing (and editing) the stack for the Fresh Debugger...


Definately, yes. We need it very much. Smile I began similar control (hexedit.asm), but it is not finished at all and I have no time to finish it these days. So, your help will be extreamly helpful. You can see, that above mentioned hexedit.asm is in very initial state, so if you prefer, you can begin from scratch (or use only ideas). IMHO, it must be universal data viewer/editor, that we will use for every datablock in the debuged program, not only for the stack. There is actually no difference between stack and data viewer/editor.
IMHO, such control must provide different data formats - at least byte/word/dword/ascii and user defined column count.

Regards.
Post 26 May 2004, 06:03
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 492
Location: Norway
Tommy
Quote:
IMHO, it must be universal data viewer/editor, that we will use for every datablock in the debuged program, not only for the stack.
I know... Thought about the same thing...
Quote:
There is actually no difference between stack and data viewer/editor.

I know. Wink
Quote:
IMHO, such control must provide different data formats - at least byte/word/dword/ascii and user defined column count.
I agree!

I'm busy with school these days... But after next week I guess I will have more time to deal with... When school doesn't take all my time, I can work on this control. Wink I'm just glad to help!

So long!
Post 26 May 2004, 09:13
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
Tommy wrote:
I'm busy with school these days... But after next week I guess I will have more time to deal with... When school doesn't take all my time, I can work on this control. Wink


OK, it's yours. Smile I will not work on it anymore. Of course if you need help, just ask. Maybe we have to discuss the interface with the debuger, but later.

Regards.
Post 26 May 2004, 09:28
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
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
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2019, Tomasz Grysztar.

Powered by rwasa.