ok situation here: step one: get string from registry:
invoke RegQueryValueExA, pKey, ADDR stringvalue, NULL, NULL, ADDR regtext, ADDR Vdatsize 
say Vdatsize is declared as:

.data
Vdatsize      dd 21 
and now i want to test it against a string from a text box:

invoke GetDlgItemText,hWnd,IDC_Text, addr ttext,21
invoke lstrcmp, addr ttext, addr regtext
Why are they not the same even though say you write "da" to registry and you read "da" back (in regtext) and say you put "da" into the text box and pull it out and into ttext, why whould they not be the same. btw im testing it like this:

.if ax==0
invoke MessageBox,hWnd,addr stringvalue,NULL,MB_OK
.endif
is that the right thing to do? after the lstrcmp i mean. because its not returning zero and im all out of ideas, any help would be apreciated. thanx. -brad This message was edited by Rage9, on 4/10/2001 10:53:12 AM
Posted on 2001-04-09 23:07:00 by Rage9
I don't have the win.hlp handy.. but shoudn't you use a pointer when invoking lstrcmp? invoke lstrcmp, addr regtext, addr ttext
Posted on 2001-04-10 03:17:00 by JimmyClif
yeah, sorry, i modified the code when i put it up there to be more clear, ill fix it... -brad
Posted on 2001-04-10 10:52:00 by Rage9
Try to place this after GetDlgItemText:

invoke MessageBox, NULL, ADDR regtext, ADDR ttext, NULL
This will show the text from the registry as messagebox text and the edit box text as caption. Check if they are the same. The code looks okay... Only one thing: use .IF eax==0 instead of ax==0, there's no need to use 16 bit registers and 32 bit regs are faster. Thomas
Posted on 2001-04-10 15:56:00 by Thomas
doh, well i figured it out, it was indeed not putting addr in the invoke lstrcmp, addr ttext, addr regtext line, woops! *walks off and kicks himself* -brad
Posted on 2001-04-10 16:47:00 by Rage9