| |
|
|
- Page 1 - |
|
Matthias Arlt | my first try with Assembler style itself dank Franks Einführungskurs rather as virtual...! now have I but the following trouble or. NEN fallacy drin:
an ASM-routine determined a String and writes this in a area. the Reading works with invoke MessageBox , 0, addr buffer, etc. fine. If I now instead of spending in a Messagebox whom String in the Profan-Program weiterverarbeiten wants, How commit I this correctly? (addr buffer goes Yes only to one invoke...)
Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/12/06 ▲ |
|
|
|
|
| |
|
- Page 1 - |
|
Michael Dell | I see, here could one simple Return txt# to mov eax, para3 wealthy. If not working declariere txt2# with the equal werten How txt# and write Return txt2# and to the function print string$(txt2#,0). |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 12/12/06 ▲ |
|
|
|
|
Jörg Sellmeyer | ought to that here not hdl&,spalte&,Addr(txt#)) hot? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12/12/06 ▲ |
|
|
|
|
Matthias Arlt | so, any mutants durchprobiert (txt#...txt2#...addr(txt#)...), but Result unfortunately How had. During under Profan7 still yet unbrauchbare characters with string$(txt#,0) read go, happens under XProfan to the Messagebox mere garnichts. try with invoke MemCopy... hit because of Access violation ditto fehl. the puzzle over goes means moreover... |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/12/06 ▲ |
|
|
|
|
Frank Abbing | lea eax, para3 mov lvi.pszText, eax mov lvi.cchTextMax, 256
must heissen:
m2m lvi.pszText, para3 mov lvi.cchTextMax, 256
or
mov eax, para3 mov lvi.pszText, eax mov lvi.cchTextMax, 256
para3 is Yes the Zeiger on a String and the Listviewmessage expects too a Zeiger on a String.
mov eax, para3 AsmEnd
is really balderdash, because the Returnwert = txt# is. Übrigens can you rather whom Debugger in lieu of of/ one Messagebox benefit, circa Zahlenwerte or Strings view. Probier time:
PrintDec eax
or
PrintStringByAddr para3
P.s.: lovely, that you my course fallen has. |
|
|
| |
|
|
|
Matthias Arlt | @Frank best Thanks, functions perfect ! have me very helped !!!
otherwise works the DLL-create already integrally well. I have your XPIA quasi as Standalone-Tool in PRFellow eingebunden and bastle me so on right comfortable point from the editor out my DLLs (for presently yet Profan7) together. Ggf. load I the time as PRFellow-expansion here high...
Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/12/06 ▲ |
|
|
|
|
Frank Abbing | lovely, the can certainly the a or others use. PrFellow glad itself Yes still grosser popularity. |
|
|
| |
|
|
|
Matthias Arlt | I have meanwhile another further Completed: one Stringvergleich. Folgender code functions of course as such, supply but always mismatched back. even if Pufferinhalte definitiv same are:
... cld mov ecx,sizeof Buffer2 lea esi,Buffer1 lea edi,Buffer2 repe cmpsb
jnz mismatched jz same ...
have already unterschiedlichste mutants durchprobiert, but unfortunately erfolglos...!?
Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/17/06 ▲ |
|
|
|
|
Frank Abbing | repe cmpsb is veraltert. Nimm in lieu of which rather The APIs lstrcmp(), or. lstrcmpi(). Safer and plenty faster. |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
Matthias Arlt | Kurioses behaviour...
Moin Frank thanks first for Info. Werd I then try. but the eigentliche trouble lying apparently already to the entering into comparison. question I to the second LB_Gettext whom Pufferinhalt ex, have I in Prev TTest and Next Test stand. question I against particular to each LB_Gettext ex, is correct But yet. in a, by which itself the Pufferinhalt changes...??? the remaining too so, if I instead local Puffer use. anyway get therefore the comparison Yes always mismatched data offered. and dasmacht with something ratlos...
Profan-code
declare lb&,dll&
dll&=usedll(E:LB.DLL)
cls
lb&=createlistbox(%hwnd,,10,10,300,200)
addstring(lb&,Test)
addstring(lb&,Test)
waitkey
external(LB.DLL,LBCheckDoublettes,lb&)
freedll dll&
code in DLL
AsmStart LBCheckDoublettes
Parameters hdl&
.data
szGleich db same,0
szUngleich db mismatched,0
szPrev db Prev,0
szNext db Next,0
.data?
Prev db ?
Next db ?
.code
LOCAL ItemCount:DWORD
LOCAL LoopCount:DWORD
invoke SendMessage, para1, LB_GETCOUNT, 0, 0
mov ItemCount,eax
invoke SendMessage, para1, LB_GETTEXT, LoopCount, ADDR Prev
inc LoopCount
invoke SendMessage, para1, LB_GETTEXT, LoopCount, ADDR Next
lea di,Prev
lea si,Next
mov cx, sizeof Next
cld
repe cmpsb
apiece same
jne mismatched
same:
invoke MessageBox,0,addr Prev,addr szGleich,MB_OK
mismatched:
invoke MessageBox,0,addr Prev,addr szUngleich,MB_OK
AsmEnd
can You you (and me) the explain?
thanks and Greeting Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/18/06 ▲ |
|
|
|
|
Frank Abbing | the here becomes whom Error trigger. so reservierst You only 1 byte:
.data? Prev db ? Next db ?
Machs so:
.data? Prev db 512 dup(?) Next db 512 dup(?)
512 mean here 512 Bytes, The reserved go. |
|
|
| |
|
|
|
Matthias Arlt | thanks Frank, very the was is too ! with the dup I had me not yet angefreundet or. which usage mißverstanden (Since I Yes really nothing double wished...). the declared now too same others aufgetretene ask ! too power itself the comparison through API integral freundlicher, because usual. Beautiful, if one so quick adept Help get !!!
best Thanks Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 12/18/06 ▲ |
|
|
|
|
Frank Abbing | |
|
| |
|
|