Wünsche y Sugerencias | | | | 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 |
| | | | |
| | | 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. |
| | | | |
| | 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 Yo schreib el veces en PCU rein si yo demnächst Langeweile tener xD |
| | | | |
| | | | - 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. |
| | | | |
| | 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. |
| | | | |
| | 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 |
| | | | |
| | 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 ▲ |
| |
|
RespuestaTema opciones | 35.848 Views |
ThemeninformationenDieses Thema ha 8 subscriber: |