Utiliser le buffer video à partir d'une DLL.
Utiliser le buffer video à partir d'une DLL.
Lut,
J'ai déjà fait un gros boulot sur mes interfaces, pour l'adapter aux differentes resolutions d'ecran.. Qui de plus ne sont même pas homothétiques.. (proportionelles) mais je sais qu'à un moment ou a un autre, je me concentrerais dessus pour les rendre plusse mieux..
Ca me conviendrait bcp d'avoir des Dll, tant pour mon ego ( whaaa jé dé dé elle elle comme un vré pro ), que ... pour mon ego.. ( en faite ) ( mais sur plusieurs plans ). BREF
Apparement, pour "manipuler" enfin.. envoyer des infos au buffer ecran... via ces bouts de programme externes... Il me faudrait pouvoir lui (la dll) indiquer à quelle adresse proceder...
En gros si je fais une dll
ProcedureDLL socle( Y )
DisplaySprite(N,X,Y)
Endprocedure
Quand je l'appel dans le main, le compilo le prends mal et me reponds "write error at adress 0" "8" avant que je reboot d'ailleur..
Donc a priori, il faudrait que je soit capable d'indiquer à cette DLL, où imprimer mon sprite :s...
Malheureusement, je n'ai vraiment aucune idée de comment proceder !
C'est peut être d'ailleur compliqué ? Peut être que je fairais mieux... d'etablir dans mon Dll, la liste des Num de sprites a afficher avec leurs coordonées, et imprimer tout ça a partir de l'exe, dans un boucle ?
Pour l'instant je vais me contenter de ça je pense ...
Si quelqu'un a des infos là dessus... Baaah.. j'lui en serait reconnaissant :s
'rci
J'ai déjà fait un gros boulot sur mes interfaces, pour l'adapter aux differentes resolutions d'ecran.. Qui de plus ne sont même pas homothétiques.. (proportionelles) mais je sais qu'à un moment ou a un autre, je me concentrerais dessus pour les rendre plusse mieux..
Ca me conviendrait bcp d'avoir des Dll, tant pour mon ego ( whaaa jé dé dé elle elle comme un vré pro ), que ... pour mon ego.. ( en faite ) ( mais sur plusieurs plans ). BREF
Apparement, pour "manipuler" enfin.. envoyer des infos au buffer ecran... via ces bouts de programme externes... Il me faudrait pouvoir lui (la dll) indiquer à quelle adresse proceder...
En gros si je fais une dll
ProcedureDLL socle( Y )
DisplaySprite(N,X,Y)
Endprocedure
Quand je l'appel dans le main, le compilo le prends mal et me reponds "write error at adress 0" "8" avant que je reboot d'ailleur..
Donc a priori, il faudrait que je soit capable d'indiquer à cette DLL, où imprimer mon sprite :s...
Malheureusement, je n'ai vraiment aucune idée de comment proceder !
C'est peut être d'ailleur compliqué ? Peut être que je fairais mieux... d'etablir dans mon Dll, la liste des Num de sprites a afficher avec leurs coordonées, et imprimer tout ça a partir de l'exe, dans un boucle ?
Pour l'instant je vais me contenter de ça je pense ...
Si quelqu'un a des infos là dessus... Baaah.. j'lui en serait reconnaissant :s
'rci
hop hop hop , j'ai pas tout suivi...
tu n'as pas besoin de l'adresse vidéo pour afficher un sprite.
comment est faite ta dll ? en purebasic ?
ton exe , comment est til fait lui ? en pb aussi ?
quand je vois :
il manque N & X dans les paramètre de la fct° ?
tu n'as pas besoin de l'adresse vidéo pour afficher un sprite.
comment est faite ta dll ? en purebasic ?
ton exe , comment est til fait lui ? en pb aussi ?
quand je vois :
Code : Tout sélectionner
ProcedureDLL socle( Y )
DisplaySprite(N,X,Y)
Endprocedure
plop,
J'ai mis içi N et X pour des critières esthetiques
... Ma vraie dll ( c'est juste celle de test, pour afficher le premier sprite de l'interface )
Effectivement par la suite ça aurait bien été "ProcedureDLL socle(N,X,Y)"
Voiçi les codes utilisés pour les premiers test s :
Appelé comme ça
J'ai changé l'interieur de la Dll par "Mouligomme = 123 + Y" et là elle fonctionnait.
Le tout est en .Pb
J'ai mis içi N et X pour des critières esthetiques

Effectivement par la suite ça aurait bien été "ProcedureDLL socle(N,X,Y)"
Voiçi les codes utilisés pour les premiers test s :
Code : Tout sélectionner
ProcedureDLL Socle( Y )
DisplayTransparentSprite(1,0, Y )
EndProcedure
Code : Tout sélectionner
If OpenLibrary( #Lib, "Libs\Interface.DLL" )
Prototype.l Interfaces(Y) : *Socle.Interfaces = GetFunction( #Lib , "Socle")
EndIf
Code : Tout sélectionner
Socle( *Pixs_Y\w )
J'ai changé l'interieur de la Dll par "Mouligomme = 123 + Y" et là elle fonctionnait.
Le tout est en .Pb
Argf...
Heu, normalement il y en a bien une à socle() (l'appel donc), mais cette ligne en l'ecrivant içi j'ai zappé l'etoile (alors que le reste est bien copié)
Mmmh.. Je galère avec les Dll de manière generale en faite, j'ai fait quelques tests pour donc creer une array et boucler dans l'exe sur DisplaySprite() selon les attributs retournés, mais mon array demeure vide >.< ...
J'essaye de suivre les exemples de l'aide ( ProcedureReturn sur les arrays ) et .. des posts sur lesquels je suis tombé.. mais pour l'instant rien =[, j'enchaine erreurs sur erreurs.
De toute façon ce soir est mal choisit pour aborder du neuf, le beau-f à payé l'apero >.< ...
Je m'y remettrais demain
Merci quou même !
Heu, normalement il y en a bien une à socle() (l'appel donc), mais cette ligne en l'ecrivant içi j'ai zappé l'etoile (alors que le reste est bien copié)
Mmmh.. Je galère avec les Dll de manière generale en faite, j'ai fait quelques tests pour donc creer une array et boucler dans l'exe sur DisplaySprite() selon les attributs retournés, mais mon array demeure vide >.< ...
J'essaye de suivre les exemples de l'aide ( ProcedureReturn sur les arrays ) et .. des posts sur lesquels je suis tombé.. mais pour l'instant rien =[, j'enchaine erreurs sur erreurs.
De toute façon ce soir est mal choisit pour aborder du neuf, le beau-f à payé l'apero >.< ...
Je m'y remettrais demain
Merci quou même !
Merdouilloux ! Ouaf-Ouaf ! Merdouilloux !
Je n'ai même pas calculé ton post. Je viens de le découvrir sur le forum anglais. Et la réponse de poshu m'a fait comprendre que tu as posté ici la même question.
Voici pour t'aider ! Je vais poster un petit message là-bas...
Je n'ai même pas calculé ton post. Je viens de le découvrir sur le forum anglais. Et la réponse de poshu m'a fait comprendre que tu as posté ici la même question.
Voici pour t'aider ! Je vais poster un petit message là-bas...