Français
Assembler Forum

Problem avec String-Rückgabe

 
- page 1 -



Matthias
Arlt
mon ersten Versuche avec Assembler gestalten sich dank Franks Einführungskurs besser comme gedacht...! eh bien habe je mais folgendes Problem bzw. nen Denkfehler drin:

une ASM-Routine ermittelt une String et écrit cette dans une Bereich. cela Lecture klappt avec invoke MessageBox , 0, addr buffer, usw. bestens. si je eh bien statt Ausgabe dans einer Messagebox den String im Profan-Programme weiterverarbeiten veux, comment übergebe je cette korrekt? (addr buffer allez oui seulement pour einem invoke...)

Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
12.12.2006  
 



 
- page 1 -



Michael
Dell
ah bon, ici pourrait un simple Retour txt# pour mov eax, para3 reichen. si cela pas funzt declariere txt2# avec den gleichen werten comment txt# et schreibe Retour txt2# et pour qui Funktion imprimer string$(txt2#,0).
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
12.12.2006  
 




Jörg
Sellmeyer
Müßte que voici pas hdl&,spalte&,Addr(txt#)) appeler?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.12.2006  
 




Matthias
Arlt
So, alle Varianten durchprobiert (txt#...txt2#...addr(txt#)...), mais Ergebnis malheureusement comment gehabt. Au cours de sous Profan7 immerhin encore unbrauchbare marque avec string$(txt#,0) ausgelesen volonté, passiert sous XProfan pour qui Messagebox rein garnichts. Versuche avec invoke MemCopy... schlagen à cause de Zugriffsverletzung également fehl. cela Rätseln allez alors plus...
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
12.12.2006  
 




Frank
Abbing
lea eax, para3
mov lvi.pszText, eax
mov lvi.cchTextMax, 256


muss heissen:

m2m lvi.pszText, para3
mov lvi.cchTextMax, 256


ou bien

mov eax, para3
mov lvi.pszText, eax
mov lvi.cchTextMax, 256


para3 ist oui qui aiguille sur une String et qui Listviewmessage erwartet aussi une aiguille sur une String.

mov eax, para3
AsmEnd


Ist eigentlich Quatsch, weil qui Returnwert = txt# ist.
Incidemment peux du besser den Debugger anstelle einer Messagebox nutzen, um Zahlenwerte ou bien Cordes anzuzeigen. Probier la fois:

PrintDec eax


ou bien

PrintStringByAddr para3


P.S.: Prima, dass dir mon Kurs plaisons hat.
 
12.12.2006  
 




Matthias
Arlt
@Frank
Besten Dank, funktioniert parfait ! la hâte mir très geholfen !!!

Ansonsten klappt cela DLL-Erstellen déjà pas mal. j'ai Deinen XPIA quasi comme Standalone-Tool dans PRFellow eingebunden et bastle mir avec cela sur droite komfortable Weise aus dem Editor heraus mon DLL (pour derzeit encore Profan7) zusammen. Ggf. lade je cela la fois comme PRFellow-Erweiterung ici hoch...

Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
12.12.2006  
 




Frank
Abbing
Prima, cela peux bestimmt qui une ou bien autre gebrauchen. PrFellow erfreut sich oui toujours grosser Beliebtheit.
 
12.12.2006  
 




Matthias
Arlt
j'ai inzwischen encore un weiteres Problem avec einem Stringvergleich. Folgender Code funktioniert zwar comme Solcher, liefert mais toujours ungleich zurück. aussi si Pufferinhalte définitif juste sommes:

...
cld
mov ecx,sizeof Buffer2
lea esi,Buffer1
lea edi,Buffer2
repe cmpsb

jnz ungleich
jz juste
...

Habe déjà unterschiedlichste Varianten durchprobiert, mais malheureusement erfolglos...!?

Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
17.12.2006  
 




Frank
Abbing
repe cmpsb ist veraltert. prends anstelle dessen lieber qui APIs lstrcmp(), bzw. lstrcmpi(). Sicherer et viel plus rapide.
 
17.12.2006  
 



 
- page 2 -



Matthias
Arlt
Kurioses Verhalten...

Moin Frank
merci erstmal pour den Hinweis. Werd je ensuite essayer. mais cela eigentliche Problem liegt scheinbar déjà avant dem Eintritt dans den comparaison. Frage je pour dem zweiten LB_Gettext den Pufferinhalt ab, habe je dans Prev TTest et dans Next Test stehen. Frage je hingegen einzeln pour chaque LB_Gettext ab, stimmt es mais encore. je n'en sais rien, wodurch sich qui Pufferinhalt ändert...???
cela bleibt aussi so, si je stattdessen lokale Puffer verwende. Jedenfalls bekommt dadurch qui comparaison oui toujours ungleiche données angeboten. et dasmacht avec quelque chose perplexe...


peux Du Dir (et mir) cela expliquer?

merci et Salut
Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
18.12.2006  
 




Frank
Abbing
cela ici wird den faute auslösen. So reservierst du seulement 1 Byte:

.data?
Prev db ?
Next db ?

Machs so:

.data?
Prev db 512 dup(?)
Next db 512 dup(?)

512 bedeuten ici 512 Bytes, qui reserviert volonté.
 
18.12.2006  
 




Matthias
Arlt
merci Frank, oui c'est ca cela était es aussi ! avec dem dup J'ai eu mich encore pas angefreundet bzw. dessen Verwendung mißverstanden (là je oui eigentlich rien doubler voulais...). cela erklärt eh bien aussi juste autre aufgetretene Fragen !
aussi pouvoir sich qui comparaison mittels API wesentlich freundlicher, weil habituel. joli, si on so vite fachkundige Aider bekommt !!!

Besten Dank
Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
18.12.2006  
 




Frank
Abbing
 
18.12.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

19.086 Views

Untitledvor 0 min.
p.specht21.02.2019
Wilfried21.05.2016
Peter Max Müller10.10.2014
iF28.04.2013
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie