Français
Forum

nproc / sizeof / DrawText / Strukturen

 

Ernst
pourquoi meckert XPSE chez qui Funktion sizeof  dans einer nproc
( avertissement: undeklarierte Funktion : SIZEOF )
aussi {$pushkeyword sizeof} hilft pas
 
05.05.2014  
 




E.T.
à quel Stelle im Voir le texte source steht car cela {$pushkeyword sizeof}  ??
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
05.05.2014  
 




Ernst
comme Kompilerschalter am Anfang

{$iq}
{pushkeyword sizeof}

ou

{pushkeyword sizeof}
{$iq}

beides versucht - Ergebnis juste
----------
anschließend venons juste encore deux Fragen betreffend Drawtext et Strukturen...

chez dem Versuch qui API ~DRAWTEXT trop verwenden, gibt es aufgrund qui xpse-eigenen Funktion qui
avertissement: Funktion DRAWTEXT erwartet chez paramètre 4.
Funktion: WNDPROC
Abhilfe: STR
 
peux on qui API-Funktion irgendwie reindrücken ou bien peux on seulement sur Umwegen zum but (Textausrichtung , etc.) venons ?

zum zweiten, z.B. Paintstruct: égal comment je versuche qui Struktur reinzubekommen ist qui annonce là
avertissement: "PAINTRUCT" : Kollision avec Struktur (PAINTSTRUCT) 
si xpse qui verschiedenen Strukturen déjà kennt, comment verwende je vous ensuite richtig ?
Grüße
 
05.05.2014  
 




Nico
Madysa
Ernst (05.05.14)

pourquoi meckert XPSE chez qui Funktion sizeof dans einer nproc
( avertissement: undeklarierte Funktion : SIZEOF )
aussi {$pushkeyword sizeof} hilft pas


dedans de NProcs darfst du seulement selbst definierte Funktionen verwenden et solche, qui de XPSE pour NProcs bereit gestellt volonté. Du darfst pas en sortir, dass alle XProfan-Funktionen dedans de NProcs comment gewohnt marcher.

si du dans qui XPSE-Funktionsreferenz [...]  schaust, wirst du feststellen, dass qui Befehl pas existiert.

je prends à, dass du qui Taille dans Bytes einer Bereichsvariablen avons veux. dans dem piège ist es besser, GlobalAlloc  [...]  trop verwenden, qui erhaltene Adresse dans einer Longvariablen trop Sauver et cet ensuite comment une Bereichsvariable trop verwenden. Dispose  wird ensuite par GlobalFree  [...]  ersetzt, SizeOf  par GlobalSize  [...] .
KompilierenMarqueSéparation
 $H Window.ph

nproc DoATest

    parameters value&
    var mem& = GlobalAlloc(~GPTR, 4)
    SetLong(mem&, 0, value&)
    var returnValue& = GetLong(mem&, 0)
    GlobalFree(mem&)
    return returnValue

endproc

cls
print "Ergebnis:", DoATest(42)
'Ergebnis: 42
waitinput
end

Ernst (05.05.14)

chez dem Versuch qui API ~DRAWTEXT trop verwenden, gibt es aufgrund qui xpse-eigenen Funktion qui
avertissement: Funktion DRAWTEXT erwartet chez paramètre 4.
Funktion: WNDPROC
Abhilfe: STR
peux on qui API-Funktion irgendwie reindrücken ou bien peux on seulement sur Umwegen zum but (Textausrichtung , etc.) venons ?


je suis Je ne plus entier sûrement, mais es sollte marcher, si du statt DrawText  ~DrawText  écris.

Ernst (05.05.14)

zum zweiten, z.B. Paintstruct: égal comment je versuche qui Struktur reinzubekommen ist qui annonce là
avertissement: "PAINTRUCT" : Kollision avec Struktur (PAINTSTRUCT)
si xpse qui verschiedenen Strukturen déjà kennt, comment verwende je vous ensuite richtig ?
Grüße


So:
KompilierenMarqueSéparation
je crois, XPSE erlaubt es dir, qui Tilde wegzulassen. important ist mais, dass qui Strukturname pas avec qui Headerkonstanten PAINTSTRUCT  kollidiert. je prends à, dass cela cela Problem ist.
 
06.05.2014  
 




Ernst
@Nico - funkt malheureusement pas
qui APIs schreibe je gewohnheitsmäßig toujours avec qui Tilde; là on mais cet dans xpse omettre peux, liegt vieleicht plan y cela Problem. xpse peux dadurch sichtlich pas entre eigenem drawtext et api-drawtext unterscheiden et veux seulement 4 paramètre. gibts pour peut-être une workaround ?

betreffend qui Strukturen habe je sous anderem aussi oui c'est ca cet variante déjà versucht - négative, mais eh bien ist es mir bien sûr warum; je hab's dedans einer nProc versucht.

sizeof  -Problem: habe je toi là richtig verstanden, dass $pushkeyword chez nProcs keinen Einfluss hat, et ebenn seulement selbst definierte, xpse-eigenen et api-Funktionen angewendet volonté peut - gibt es eigentlich pour sizeof une adäquate (kurze) api-Funktion ?
Salut Ernst
 
06.05.2014  
 




E.T.

{$iq}
{pushkeyword sizeof}


déjà la fois avec

{$iq}
{$pushkeyword sizeof}

versucht
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
06.05.2014  
 




Ernst
@E.T.
était seulement un Schreibfehler
habe es déjà avec {$pushkeyword sizeof} versucht (siehe mon erste Frage)

Nachtrag @Nico
Mir ist eh bien bien sûr, pourquoi es pas funktioniert hat, weil je ca alles dedans
einer nProc unterbringen voulais - allez arrêt pas.
"workaround" pour Textausrichtung habe je mir bereits erledigt.
 
06.05.2014  
 




Nico
Madysa
Ernst (06.05.14)
sizeof -Problem: habe je toi là richtig verstanden, dass $pushkeyword chez nProcs keinen Einfluss hat, et ebenn seulement selbst definierte, xpse-eigenen et api-Funktionen angewendet volonté peut


qui Kompilerdirektive PUSHKEYWORD existiert aus Kompatibilitätsgründen et versichert XPSE, dass une gewisse Funktion vorhanden ist, quoique vous XPSE pas bekannt ist -- zum Beispiel, weil qui Funktion seulement dans einer neueren XProfan-Version incorporé worden ist.

dedans de NProcs darfst du mais aucun XProfan-Funktionen verwenden. Verwenden peux du seulement WinAPI-Funktionen et Funktionen, qui dans qui XPSE-référence [...]  défini sommes. tu vois sicherlich, dass là manches fehlt.

Ernst (06.05.14)
gibt es eigentlich pour sizeof une adäquate (kurze) api-Funktion ?
Salut Ernst


oui, GlobalSize . cela Problem ist, dass je pas sais, si GlobalSize quelque chose avec XProfan-eigenen Bereichsvariablen anzufangen sais. c'est qui Grund pour, dass je empfohlen habe, dedans de NProcs grundsätzlich seulement avec GlobalAlloc  erstellte Speicherbereiche trop verwenden. vous bieten une nahezu gleiche Fonctionnalité et je peux mich puis sortir de, dass ils font, quoi vous devoir.
 
08.05.2014  
 




Findus
Ernst (06.05.14)
@Nico - funkt malheureusement pas
qui APIs schreibe je gewohnheitsmäßig toujours avec qui Tilde; là on mais cet dans xpse omettre peux, liegt vieleicht plan y cela Problem. xpse peux dadurch sichtlich pas entre eigenem drawtext et api-drawtext unterscheiden et veux seulement 4 paramètre. gibts pour peut-être une workaround ?


dans diesem le cas liegt cela plutôt daran cela es qui Funktion aussi nochmal comme xpse Funktion gibt direct de xpse: [...] 

voilà qui 4. paramètre un string.

si Du zentrierten text veux usw ensuite peux du oui fois le drawtextex api verwenden car qui allez bien pour.

Statt globalfree usw serait je qui xpse funktionen prendre qui comment qui XProfan funktionen lauten alors dim et dispose, qui aller aussi dans nprocs et sommes là aussi gelistet. [...] 
 
09.05.2014  
 




Ernst
Findus (09.05.14)
si Du zentrierten text veux usw ensuite peux du oui fois le drawtextex api verwenden car qui allez bien pour.

oui c'est ca cela ist’s (j'étais trop stark sur drawtext fixiert) – merci
Findus (09.05.14)
Statt globalfree usw serait je qui xpse funktionen prendre qui comment qui XProfan funktionen lauten alors dim et dispose, qui aller aussi dans nprocs et sommes là aussi gelistet.

dim et dispose verwende je ohnedies, mais mir ging/ca va um cela sizeof 
normalement serait je écrivons
textlen& = ~GetWindowText(hWnd&, Text#, sizeof(#)-1)
mais comment mach je es dans einer nproc, qui sizeof pas kennt – et une passende api hab je aussi pas trouvé
 
09.05.2014  
 




Nico
Madysa
Findus (09.05.14)
Statt globalfree usw serait je qui xpse funktionen prendre qui comment qui XProfan funktionen lauten alors dim et dispose, qui aller aussi dans nprocs et sommes là aussi gelistet. [...] 


Hoppla, là hab je getrieft et qui référence pas richtig gelesen.

Ernst (09.05.14)
dim et dispose verwende je ohnedies, mais mir ging/ca va um cela sizeof
normalement serait je écrivons
textlen& = ~GetWindowText(hWnd&, Text#, sizeof(#)-1)
mais comment mach je es dans einer nproc, qui sizeof pas kennt ? et une passende api hab je aussi pas trouvé


je peux mir très bien présenter, dass XPSEs Faible- et Dispose-Funktionen seulement Wrapper um GlobalAlloc et GlobalFree sommes.
exposition doch simple la fois, si qui folgende Code cela erwartete Ergebnis ausgibt:
nproc TestGlobalSize

    parameters sizeOfMem&
    var mem& = Faible(sizeOfMem&)
    var result& = GlobalSize(mem&)
    Dispose(mem&)
    return result&

endproc

proc assert

    parameters param&
    imprimer param&,
    imprimer si(TestGlobalSize(param&) = param&, "OK", "Fail!")

endproc

cls
assert(4)
assert(23)
assert(42)
waitinput
end
 
10.05.2014  
 




Ernst
Schreibfehler:
textlen& = ~GetWindowText(hWnd&, Text#, sizeof(#)-1) sollte son:
textlen& = ~GetWindowText(hWnd&, Text#, sizeof(Text#)-1)

@Nico: jedenfalls ist globalsize  exakt qui api, qui je gesucht hatte.
long text=dim(255)
var textlen& = ~GetWindowText(hWnd&,Text,~GlobalSize(Text)-1)
merci
 
10.05.2014  
 




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

20.752 Views

Untitledvor 0 min.
p.specht05.12.2017
Ernst24.06.2016
Wilfried02.06.2016
funkheld11.04.2016
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