Wünsche et Anregungen | | | |  H.Brill | je hätte mir cela maintenant so gedacht, qui je qui .ph d'abord schreibe et ensuite avec $H einlese : KompilierenMarqueSéparation $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)
Fin
mais irgendwie ist là encore qui 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 | je hätte mir cela maintenant so gedacht, qui je qui .ph d'abord schreibe et ensuite avec $H einlese : KompilierenMarqueSéparation $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/'>Fin
mais irgendwie ist là encore qui 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 | cela verstehe je pas entier, qui Funktionen avons oui verschiedene Anzahl de Parametern & qui doit oui berücksichtigt volonté  |
| | | | |
| |  | Georg Teles (14.10.14)
bof, c'est déjà nervig 117 trop écrivons
peux oui per PH aus einem call(proc117,"test") simple un foo("test") faire. |
| | | | |
| |  Georg Teles | bof, c'est déjà nervig 117 trop écrivons mais après peux on qui PCU toujours wieder benutzen et qui DLL wird im Programmcode mitgeliefert je mon, ensuite steht am Ende qui bloße .EXE
...mais Proc peux on aussi so laisser (je après que wieviele paramètre stehen) KompilierenMarqueSéparation je schreib qui la fois dans PCU rein si je bientôt ennui hab xD |
| | | | |
| | | | - page 5 - |
| |  | Hm, hilft Dir vlt.: KompilierenMarqueSéparation wird trop: KompilierenMarqueSéparation//einmalig trop programmstart:
__cf45&=__cf3("TEST")
//später seulement encore
PRINT call(__cf45&)
et __cf3 übersetze je avec: KompilierenMarqueSéparation
proc __cf3
parameters fName$
casenot __cfObj&:__cfInit
casenot long((long(__cfObj&,0)+120),4) : return 0
cas (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) : return 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)
si string$(long(__cfObj&,4)+long(fNam&,0),0)=fName$
addr&=word(fOffs&,0)
pause
endif
inc fNam&,4
inc fOffs&,2
Wend
cas (addr&=-1) or (addr& > long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),20)) : return 0
return long(__cfObj&,4)+long(long(__cfObj&,4)+long(long(__cfObj&,4)+long((long(__cfObj&,0)+120),0),28)+(addr&*4),0)
endproc
et __cfObj& ist cela MemoryModule-Handle.
avec cela peut sich doch qui Funktionsadresse einer Funktion aus einem MemoryModule beziehen et qui reste wäre ensuite ph-ersetze et inc. |
| | | | |
| |  H.Brill | alors, cela avec den .ph -Fichiers schaue je mir la fois à. quoi je meinte : si je une DLL sur Platte avec ImportDLL() importiere, brauche je aucun .ph ou bien .inc Fichiers plus. là brauche je sonst nix trop faire. depuis es cet Funktion dans XProfan gibt, brauche je aussi Franks Listview_Funktionen.inc pas plus.
Daher dachte je, ImportFunc() dans einer Boucle courir trop laisser, à Funktionen statisch trop linken. qui Adressen et Funktionsnamen habe je oui. cela scheint mais seulement pour aller, si le DLL physikalisch sur Platte ist. |
| | | 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 ▲ |
| |
| |  | dans XPSE fais je cela so, dass je einmal trop programmstart qui Funktionsadressen dans simple HANDLE speichere et ensuite direct puis un Call fais.
cela böte sich doch aussi pour toi à.
alors einmal un
dieFunktion=getprocaddr(...,
et
dieAndereFunktion=getprocaddr(...,
et ensuite seulement encore
call(dieFunktion,...
et
call(dieAndereFunktion,...
cela peux on ensuite aussi nochmal verfeinern dank qui
Headerdateien (ph's)
car ensuite könntest Du sogar aus
call(dieFunktion,...
un direktes
dieFunktion(
faire là qui Headerdateien oui komplette Textblöcke ersetzen peut.
alors ne PH et ne INC et ensuite dürftest Du doch oui c'est ca cela avons ou bien je hab pas kappiert quoi erwünscht ist. |
| | | | |
| |  H.Brill | merci, mais oui c'est ca cela voulais je mir ersparen. avec un paire Funktionen allez cela oui encore prima, mais chez den 117 Funktionen qui Listview.dll qui ganzen Procs écrivons....
Daher wäre mir un direktes Linken qui Funktionen lieber 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 | alors oui tu peux déjà avec Modulen travailler, binde doch qui DLL simple comme PCU dans dein Programme avec un, du müsstest mais alle Funktionen korrekt reinschreiben, denke c'est qui bessere Solution ersteinmal.
Habe quelque chose comme avec SKControl.dll la fois gemacht gehabt, exposition la fois ici Herunterladen Grüße |
| | | | |
| |  H.Brill | avec den Resourcen dans X3 ist oui une feine l'affaire. j'ai maintenant fois le Listview.dll de Frank eingebunden. Über ImportDLL() habe je mir qui Funktionen avec (*) dans qui Listboxliste geschrieben et comme Dossier gespeichert et cet aussi eingebunden. eh bien voudrais je avec qui Include MemoryModule.inc travailler. cela klappt aussi soweit. KompilierenMarqueSéparation $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/'>Fin
quoi maintenant mon Anliegen wäre, ist qui Zuordnung qui Funktionen. comment on dessus sieht, ist cela avec Call(...) oui pas très leserlich. ImportFunc() scheint ici pas trop marcher. si es maintenant quelque chose comme gäbe, comment ImportDLL(), cela qui Funktionen en supplément linkt. cela ImportDLL() ist oui super, là on sich qui Include avec espace den Funktionsdeklarationen erspart. ImportDLL() erwartet im Moment oui comme paramètre une Dateinamen et pas un Handle.
Roland, wäre quelque chose comme machbar ? qui Funktionsadressen et qui en supplément gehörenden Funktionsnamen avons wir oui déjà. So comment je es au haut de qui Boucle gemacht habe, sembler oui qui Adressen et en Namen synchron trop courir.
ou bien hat quelqu'un encore une concept, comment on cela automatisieren pourrait ? |
| | | 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 | ici peut Propositions gemacht volonté, qui plus tard Versionen betreffen. aussi à gauche trop déjà existierenden Vorschlägen devrait ici gesammelt volonté. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 08.09.2014 ▲ |
| |
|
répondreOptions du sujet | 37.069 Views |
Themeninformationencet Thema hat 8 participant: |