Español
Wünsche y Sugerencias

Propuestas para künftige Versionen

 

H.Brill
Yo hätte me ahora así pensamiento, Yo el .ph
zuerst escribir y luego con $H einlese :
KompilierenMarcaSeparación
 $I MemoryModule.inc
Declare Handle hResInfo, hModule, Grid, gView
Declare Memory FN, LV
Declare Int anz, String Func, spalte
Declare pfunc&
Window 600, 450
Grid = @Create("Gridbox", %HWnd, "Nr;0;50;Adresse;0;100;Funktionsname;0;200", 0, 80, 10, 400, 200)
ShowWindow(Grid, 0)
hResInfo = Res("Info", %HInstance, 10, "listview", 0)

IF hResInfo > 0

    Dim LV, Res("size", %HInstance, hResInfo)
    LV = Res("Get", %HInstance, hResInfo)
    hModule = LoadLibraryM(LV)

EndIf

hResInfo = Res("Info", %HInstance, 10, "FUNKTIONEN", 0)

IF hResInfo > 0

    Dim FN, Res("size", %HInstance, hResInfo)
    FN = Res("Get", %HInstance, hResInfo)
    anz = Move("MemToList", FN, Chr$(13)+ chr$(10))
    Assign #1, $ProgDir + "INCLUDE\Listview.ph"
    Rewrite #1

    WHILELOOP 0, anz - 1

        Func = GetString$(0, &LOOP)
        'IMPORTFUNC(hModule, Func, "")  ' Geht hier nicht
        pFunc& = GetProcAddressM(hModule, Func)
        AddString(Grid, Str$(&LOOP) + "|" + Str$(pFunc&) + "|" + Func)
        Print #1, Func; "( = CALL(";Str$(pFunc&);",;"

    ENDWHILE

    Close #1

ENDIF

Print "Fertig..."
Waitkey
 $H Listview.ph
ShowWindow(Grid, 1)
' Listview erstellen
gView = ~CreateListview(%HWnd, %HInstance, 0, $ffffff, -1, $31)
spalte = "1.Spalte"
~IColumn(gView, spalte, 120, 0)
spalte = "2. Spalte"
~IColumn(gView, spalte, 240, 0)
~ShowListview(gView, 10, 250, 400, 100)
Waitkey
FreeLibraryM(hModule)
End

Aber irgendwie es como todavía el Wurm drin.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
14.10.2014  
 




H.Brill
Yo hätte me ahora así pensamiento, Yo el .ph
zuerst escribir y luego con $H einlese :
KompilierenMarcaSeparación
 $I MemoryModule.inc
Declare Handle hResInfo, hModule, Grid, gView
Declare Memory FN, LV
Declare Int anz, String Func, spalte
Declare pfunc&
Window 600, 450
Grid = @Create("Gridbox", %HWnd, "Nr;0;50;Adresse;0;100;Funktionsname;0;200", 0, 80, 10, 400, 200)
ShowWindow(Grid, 0)
hResInfo = Res("Info", %HInstance, 10, "listview", 0)

IF hResInfo > 0

    Dim LV, Res("size", %HInstance, hResInfo)
    LV = Res("Get", %HInstance, hResInfo)
    hModule = LoadLibraryM(LV)

EndIf

hResInfo = Res("Info", %HInstance, 10, "FUNKTIONEN", 0)

IF hResInfo > 0

    Dim FN, Res("size", %HInstance, hResInfo)
    FN = Res("Get", %HInstance, hResInfo)
    anz = Move("MemToList", FN, Chr$(13)+ chr$(10))
    Assign #1, $ProgDir + "INCLUDE\Listview.ph"
    Rewrite #1

    WHILELOOP 0, anz - 1

        Func = GetString$(0, &LOOP)
        'IMPORTFUNC(hModule, Func, "")  ' Geht hier nicht
        pFunc& = GetProcAddressM(hModule, Func)
        AddString(Grid, Str$(&LOOP) + "|" + Str$(pFunc&) + "|" + Func)
        Print #1, Func; "( = CALL(";Str$(pFunc&);",;"

    ENDWHILE

    Close #1

ENDIF

Print "Fertig..."
Waitkey
 $H Listview.ph
ShowWindow(Grid, 1)
' Listview erstellen
gView = ~CreateListview(%HWnd, %HInstance, 0, $ffffff, -1, $31)
spalte = "1.Spalte"
~IColumn(gView, spalte, 120, 0)
spalte = "2. Spalte"
~IColumn(gView, spalte, 240, 0)
~ShowListview(gView, 10, 250, 400, 100)
Waitkey
FreeLibraryM(hModule)
./../../funktionsreferenzen/XProfan/end/'>End

Aber irgendwie es como todavía el Wurm drin.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
14.10.2014  
 




Georg
Teles
Das verstehe Yo no bastante, el Características haben sí verschiedene Anzahl de Parametern & el necesario sí berücksichtigt voluntad
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

14.10.2014  
 



Georg Teles (14.10.14)
Naja, es ya nervig 117 a escribir


¿Puede sí por PH de una call(proc117,"test") simplemente una
foo("test") hacer.
 
14.10.2014  
 




Georg
Teles
Naja, es ya nervig 117 a escribir aber nachher puede ser el PCU siempre otra vez benutzen y el DLL se en el Programmcode mitgeliefert Yo mein, entonces es al Ende el bloße .EXE

...aber Proc puede ser auch así dejar (je después de wieviele Parámetro posición)
KompilierenMarcaSeparación
Proc _funktion1

    Parameters p1&,p2&,p3&
    call(_funktion1,p1&,p2&,p3&)

EndPr

Yo schreib el veces en PCU rein si yo demnächst Langeweile tener xD
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

14.10.2014  
 



 
- Página 5 -


Hm, hilft Usted vlt.:
KompilierenMarcaSeparación
se a:
KompilierenMarcaSeparación
//einmalig a programmstart:
__cf45&=__cf3("TEST")
//später sólo todavía
PRINT call(__cf45&)

y __cf3 übersetze I, con:
KompilierenMarcaSeparación
proc __cf3

    parámetros fName$
    casenot __cfObj&:__cfInit
    casenot long((long(__cfObj&,0)+120),4) : volver 0
    caso (long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),24)=0) or (long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),20)=0) : volver 0
    var addr&=-1
    var fNam&=long(__cfObj&,4)+long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),32)
    var fOffs&=long(__cfObj&,4)+long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),36)

    whileLoop long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),24)

        if cadena$(long(__cfObj&,4)+long(fNam&,0),0)=fName$

            addr&=word(fOffs&,0)
            romper

        endif

        inc fNam&,4
        inc fOffs&,2

    wend

    caso (addr&=-1) or (addr& > long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),20)) : volver 0
    volver long(__cfObj&,4)+long(long(__cfObj&,4)+long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),28)+(addr&*4),0)

ENDPROC


y __cfObj& es el MemoryModule-Handle.

Damit lässt se doch el Funktionsadresse uno Función de una
MemoryModule beziehen y el resto wäre entonces ph-ersetze y inc.
 
14.10.2014  
 




H.Brill
Also, el con el .ph -Archivos schaue Yo veces a.
Was Yo meinte :
Wenn Yo una DLL en Platte con ImportDLL()
importiere, brauche Yo no .ph oder .inc Archivos mehr.
Como brauche Yo sonst nix a hacer.
Seit lo esta Función en XProfan son, brauche Yo auch
Franks Listview_Funktionen.inc no mehr.

Daher pensamiento Yo, ImportFunc() en uno Bucle laufen a
dejar, a Características statisch a linken. El Adressen
y Funktionsnamen Yo sí.
Das scheint aber sólo a ir, si la DLL physikalisch
en Platte es.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
14.10.2014  
 



In XPSE mache Yo el así, dass Yo una vez a programmstart el
Funktionsadressen en einfache HANDLE speichere y luego direkt
darauf una Call mache.

Das böte se doch auch para Usted a.

Also una vez una

dieFunktion=getprocaddr(...,


y

dieAndereFunktion=getprocaddr(...,


y luego sólo todavía

call(dieFunktion,...


y

call(dieAndereFunktion,...


Das puede ser entonces auch otra vez verfeinern dank el

Encabezamiento (ph's)


porque entonces könntest Usted incluso de

call(dieFunktion,...


una direktes

dieFunktion(


hacer como el Encabezamiento sí komplette Textblöcke sustituir puede.

Also ne PH y ne INC y luego dürftest Usted doch genau el haben oder
Yo tener no kappiert qué erwünscht es.
 
14.10.2014  
 




H.Brill
Gracias, aber genau el Yo quería me ersparen.
Mit unos pocos Características va el sí todavía prima,
pero en el 117 Características el Listview.dll
el ganzen Procs escribir....

Daher wäre me una direktes Linken el Características
más bien gewesen.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
14.10.2014  
 




Georg
Teles
Also sí du kannst ya con Modulen trabajo, binde doch el DLL simplemente como PCU en dein Programa con un, du müsstest aber todos Características korrekt reinschreiben, denke el Es el bessere Solución ersteinmal.

Posesiones algo como con SKControl.dll veces gemacht gehabt, schau mal hier Descargar
Grüße

582 kB
Hochgeladen:14.10.2014
Ladeanzahl57
Descargar
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

14.10.2014  
 




H.Brill
Mit el Resourcen en X3 es sí una feine Sache.
Yo habe ahora veces el Listview.dll de Franco eingebunden.
Über ImportDLL() Yo me el Características con (*)
en el Listboxliste geschrieben y como Expediente gespeichert
y esta auch eingebunden. Nun möchte I, con el
Incluir MemoryModule.inc trabajo.
Das klappt auch soweit.
KompilierenMarcaSeparación
 $I MemoryModule.inc
Declare Handle hResInfo, hModule, Grid, gView
Declare Memory FN, LV
Declare Int anz, String Func, spalte
Declare pfunc&
Window 600, 450
Grid = @Create("Gridbox", %HWnd, "Nr;0;50;Adresse;0;100;Funktionsname;0;200", 0, 80, 10, 400, 200)
ShowWindow(Grid, 0)
hResInfo = Res("Info", %HInstance, 10, "listview", 0)

IF hResInfo > 0

    Dim LV, Res("size", %HInstance, hResInfo)
    LV = Res("Get", %HInstance, hResInfo)
    hModule = LoadLibraryM(LV)

EndIf

hResInfo = Res("Info", %HInstance, 10, "FUNKTIONEN", 0)

IF hResInfo > 0

    Dim FN, Res("size", %HInstance, hResInfo)
    FN = Res("Get", %HInstance, hResInfo)
    anz = Move("MemToList", FN, Chr$(13)+ chr$(10))

    WHILELOOP 0, anz - 1

        Func = GetString$(0, &LOOP)
        'IMPORTFUNC(hModule, Func, "")  ' Geht hier nicht
        pFunc& = GetProcAddressM(hModule, Func)
        AddString(Grid, Str$(&LOOP) + "|" + Str$(pFunc&) + "|" + Func)

    ENDWHILE

ENDIF

Print
Print "Fertig..."
Waitkey
ShowWindow(Grid, 1)
' Listview erstellen
pfunc& = Val(GetText$(Grid, 13, 1))
gView = Call(pfunc&, %HWnd, %HInstance, 0, $ffffff, -1, $31)
spalte = "1.Spalte"
pfunc& = Val(GetText$(Grid, 69, 1))
Call(pfunc&, gView, spalte, 120, 0)
spalte = "2. Spalte"
Call(pfunc&, gView, spalte, 240, 0)
pfunc& = Val(GetText$(Grid, 114, 1))
Call(pfunc&, gView, 10, 250, 400, 100)
Waitkey
FreeLibraryM(hModule)
../../funktionsreferenzen/XProfan/end/'>End

Was ahora mein Anliegen wäre, Es el Zuordnung el Características.
Como uno oben sieht, es el con Call(...) sí no muy leserlich.
ImportFunc() scheint hier no a trabajo.
Wenn lo ahora algo como gäbe, como ImportDLL(), el el Características
dazu linkt. Das ImportDLL() es sí klasse, como uno el Incluir
con all el Funktionsdeklarationen erspart. ImportDLL() esperado
en el Moment sí como Parámetro una Dateinamen y no una
Handle.

Roland, wäre algo como machbar ?
El Funktionsadressen y el dazu gehörenden Funktionsnamen
haben wir sí ya. So Yo lo oben en el Bucle gemacht habe,
scheinen sí el Adressen y deren Namen synchron a laufen.

Oder ha alguien ni Concepto, cómo hacerlo automatisieren
podría ?
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
13.10.2014  
 




Jörg
Sellmeyer
Hier puede Propuestas gemacht voluntad, el spätere Versionen betreffen.
Auch Links a ya existierenden Vorschlägen debería hier gesammelt voluntad.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
08.09.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

34.397 Views

Untitledvor 0 min.
Stringray09.05.2022
Rolf Koch03.10.2021
Axel Berse16.07.2021
Jörg Sellmeyer28.05.2020
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