Español
Foro

nproc / sizeof / DrawText / Estructuras

 

Ernst
por qué meckert XPSE en Función sizeof  en uno nproc
( Warnung: undeklarierte Función : SIZEOF )
auch {$pushkeyword sizeof} hilft no
 
05.05.2014  
 




E.T.
An welcher Punto en el Ver código fuente es porque el {$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
como Kompilerschalter al Anfang

{$iq}
{pushkeyword sizeof}

o

{pushkeyword sizeof}
{$iq}

beides intenta - Ergebnis igual
----------
anschließend kommen igual todavía zwei Fragen betreffend Drawtext y Estructuras...

en el Intento el API ~DRAWTEXT utilizarse, hay aufgrund el xpse-eigenen Función el
Warnung: Función DRAWTEXT esperado en Parámetro 4.
Función: WNDPROC
Abhilfe: STR
 
puede ser el API-Función irgendwie reindrücken oder puede ser sólo en Umwegen para Ziel (Textausrichtung , etc.) kommen ?

para zweiten, z.B. Paintstruct: egal Yo versuche el Struktur reinzubekommen Es el Meldung como
Warnung: "PAINTRUCT" : Kollision con Struktur (PAINTSTRUCT) 
si xpse el verschiedenen Estructuras ya sabe, como verwende Yo ellos entonces correcto ?
Grüße
 
05.05.2014  
 




Nico
Madysa
Ernst (05.05.14)

por qué meckert XPSE en Función sizeof en uno nproc
( Warnung: undeklarierte Función : SIZEOF )
auch {$pushkeyword sizeof} hilft no


Innerhalb de NProcs darfst du sólo incluso definierte Características uso y solche, el de XPSE para NProcs bereit gestellt voluntad. Usted darfst no su ausgehen, dass todos XProfan-Características innerhalb de NProcs como gewohnt trabajo.

Wenn du en el XPSE-Funktionsreferenz [...]  schaust, wirst du determinar, dass el Befehl no existiert.

Yo nehme a, dass du el Größe en Bytes uno Bereichsvariablen haben willst. In el Falle es mejor, GlobalAlloc  [...]  utilizarse, el erhaltene Adresse en uno Longvariablen a speichern y esta entonces como una Bereichsvariable utilizarse. Disponer  se entonces por GlobalFree  [...]  ersetzt, SizeOf  por GlobalSize  [...] .
KompilierenMarcaSeparación
 $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)

en el Intento el API ~DRAWTEXT utilizarse, hay aufgrund el xpse-eigenen Función el
Warnung: Función DRAWTEXT esperado en Parámetro 4.
Función: WNDPROC
Abhilfe: STR
puede ser el API-Función irgendwie reindrücken oder puede ser sólo en Umwegen para Ziel (Textausrichtung , etc.) kommen ?


Yo bin No mehr bastante sicher, pero debería klappen, si du en lugar de DrawText  ~DrawText  schreibst.

Ernst (05.05.14)

para zweiten, z.B. Paintstruct: egal Yo versuche el Struktur reinzubekommen Es el Meldung como
Warnung: "PAINTRUCT" : Kollision con Struktur (PAINTSTRUCT)
si xpse el verschiedenen Estructuras ya sabe, como verwende Yo ellos entonces correcto ?
Grüße


So:
KompilierenMarcaSeparación
Yo glaube, XPSE erlaubt lo dir, el Tilde wegzulassen. Wichtig es aber, dass el Strukturname no con el Headerkonstanten PAINTSTRUCT  kollidiert. Yo nehme a, dass el el problema es.
 
06.05.2014  
 




Ernst
@Nico - funkt por desgracia, no
el APIs escribir Yo gewohnheitsmäßig siempre con el Tilde; como uno aber esta en xpse weglassen kann, liegt vieleicht eben en él el problema. xpse kann dadurch sichtlich no zwischen eigenem drawtext y api-drawtext unterscheiden y voluntad sólo 4 Parámetro. gibts dafür tal vez una workaround ?

betreffend el Estructuras Yo bajo anderem auch genau esta Variante ya intenta - negativo, aber nun es me klar warum; Yo hab's innerhalb uno nProc intenta.

sizeof  -Problema: Yo dich como correcto verstanden, dass $pushkeyword en nProcs no Einfluss ha, y ebenn sólo incluso definierte, xpse-eigenen y api-Características angewendet voluntad puede - hay eigentlich para sizeof una adäquate (kurze) api-Función ?
Saludo Ernst
 
06.05.2014  
 




E.T.

{$iq}
{pushkeyword sizeof}


Schon veces con

{$iq}
{$pushkeyword sizeof}

intenta
 
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.
war sólo una Schreibfehler
habe lo ya con {$pushkeyword sizeof} intenta (siehe mi erste Cuestión)

Apéndice @Nico
Mir es nun klar, por qué no funktioniert ha, porque Yo dies alles innerhalb
uno nProc unterbringen quería - va sólo no.
"workaround" para Textausrichtung Yo me ya hecho.
 
06.05.2014  
 




Nico
Madysa
Ernst (06.05.14)
sizeof -Problema: Yo dich como correcto verstanden, dass $pushkeyword en nProcs no Einfluss ha, y ebenn sólo incluso definierte, xpse-eigenen y api-Características angewendet voluntad puede


El Kompilerdirektive PUSHKEYWORD existiert de Kompatibilitätsgründen y versichert XPSE, dass una gewisse Función disponible es, obwohl ellos XPSE no bekannt es -- para Ejemplo, porque el Función sólo en uno neueren XProfan-Versión instalado worden es.

Innerhalb de NProcs darfst du pero no XProfan-Características uso. Verwenden kannst du sólo WinAPI-Características y Características, el en el XPSE-Referenz [...]  definiert son. Usted siehst sicherlich, dass como manches fehlt.

Ernst (06.05.14)
hay eigentlich para sizeof una adäquate (kurze) api-Función ?
Saludo Ernst


Sí, GlobalSize . Das Problema es, dass Yo no weiß, si GlobalSize algo con XProfan-eigenen Bereichsvariablen anzufangen weiß. Es el Grund dafür, dass Yo empfohlen habe, innerhalb de NProcs grundsätzlich sólo GlobalAlloc  erstellte Speicherbereiche utilizarse. Sie bieten una nahezu gleiche Funktionalität y yo kann mich darauf verlassen, dass ellos hacer, qué ellos debería.
 
08.05.2014  
 




Findus
Ernst (06.05.14)
@Nico - funkt por desgracia, no
el APIs escribir Yo gewohnheitsmäßig siempre con el Tilde; como uno aber esta en xpse weglassen kann, liegt vieleicht eben en él el problema. xpse kann dadurch sichtlich no zwischen eigenem drawtext y api-drawtext unterscheiden y voluntad sólo 4 Parámetro. gibts dafür tal vez una workaround ?


In diesem Fall liegt el más daran el lo el Función auch otra vez como xpse Función son direkt de xpse: [...] 

Como es el 4. parameter una cadena.

Si usted zentrierten texto willst usw entonces kannst du sí veces el drawtextex api uso porque el va bien dafür.

Statt globalfree usw sería Yo el xpse funktionen nehmen el como XProfan funktionen lauten also dim y disponer, el ir auch en nprocs y son como auch gelistet. [...] 
 
09.05.2014  
 




Ernst
Findus (09.05.14)
Si usted zentrierten texto willst usw entonces kannst du sí veces el drawtextex api uso porque el va bien dafür.

genau el ist’s (Yo war a stark en drawtext fixiert) – Gracias
Findus (09.05.14)
Statt globalfree usw sería Yo el xpse funktionen nehmen el como XProfan funktionen lauten also dim y disponer, el ir auch en nprocs y son como auch gelistet.

dim y disponer verwende Yo ohnedies, aber me ging/es en el sizeof 
normalerweise sería Yo escribir
textlen& = ~GetWindowText(hWnd&, Texto#, sizeof(#)-1)
aber como mach Yo en uno nproc, el sizeof no sabe – y una passende api tener Yo auch No se ha encontrado
 
09.05.2014  
 




Nico
Madysa
Findus (09.05.14)
Statt globalfree usw sería Yo el xpse funktionen nehmen el como XProfan funktionen lauten also dim y disponer, el ir auch en nprocs y son como auch gelistet. [...] 


Hoppla, como tener Yo getrieft y el Referenz no correcto gelesen.

Ernst (09.05.14)
dim y disponer verwende Yo ohnedies, aber me ging/es en el sizeof
normalerweise sería Yo escribir
textlen& = ~GetWindowText(hWnd&, Texto#, sizeof(#)-1)
aber como mach Yo en uno nproc, el sizeof no sabe ? y una passende api tener Yo auch No se ha encontrado


Puedo me muy bien vorstellen, dass XPSEs Dim- y Disponer-Características sólo Wrapper en GlobalAlloc y GlobalFree son.
Schau doch simplemente veces, si el folgende Code el erwartete Ergebnis ausgibt:
nproc TestGlobalSize

    parámetros sizeOfMem&
    var mem& = Dim(sizeOfMem&)
    var result& = GlobalSize(mem&)
    Disponer(mem&)
    volver result&

ENDPROC

proc assert

    parámetros param&
    imprimir param&,
    imprimir if(TestGlobalSize(param&) = param&, "OK", "Fail!")

ENDPROC

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




Ernst
Schreibfehler:
textlen& = ~GetWindowText(hWnd&, Texto#, sizeof(#)-1) debería ser:
textlen& = ~GetWindowText(hWnd&, Texto#, sizeof(Texto#)-1)

@Nico: jedenfalls es globalsize  exakt el api, el Yo gesucht hatte.
long texto=dim(255)
var textlen& = ~GetWindowText(hWnd&,Texto,~GlobalSize(Texto)-1)
Gracias
 
10.05.2014  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

21.038 Views

Untitledvor 0 min.
p.specht05.12.2017
Ernst24.06.2016
Wilfried02.06.2016
funkheld11.04.2016
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie