UTILISER DES OBJETS EXTERNE DANS VOS PROJETS (ADDIN)
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 2006
-
28 juin 2004 à 18:12
Enneka_NK
Messages postés18Date d'inscriptionjeudi 8 juillet 2004StatutMembreDernière intervention19 avril 2006
-
23 avril 2006 à 15:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Enneka_NK
Messages postés18Date d'inscriptionjeudi 8 juillet 2004StatutMembreDernière intervention19 avril 2006 23 avril 2006 à 15:38
Je pige pas du tout à quoi ca sert... Je ne veux pas dire que je pense que ca n'sert à rien! Mais je pige rien là. A quoi ca sert de lier des fichiers de ce type?
Quelqu'un peut m'expliquer le principe de ce "Addon pour vb"?
Merki bcp!
++
NK
shadowmoy
Messages postés340Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention25 août 2007 1 janv. 2005 à 13:01
en gros si j'ai bien compris tu utilise un module vide pour creer des adresses de fonctions dans ton exe puis à la compilation tu injecte le obj ayant les memes nom de fonction pour recuperer leur adresse et les executer
donc si je me trompe pas (j'ai bien dit si) on pourrai aussi bien remplacer des fonctions de vb par des fonctions dans un obj
donc si on avait le obj de la dll msvbvm6.dll on pourrai l'injecter dans vb et rendre l'exe autonome ?
(en theorie) bien sur je vois pas comment extraire le obj d'une dll donc deja c mort.
en gros suffit de coder une dll avec des export et s'assurer que le nom des fonctions sont les meme ?
un truc tout bete serait de faire une dll en C pour des fonctions comme Left(..) et Right(..) et tester le Gain de vitesse de la version en C via le .obj et la version originale de vb
si il a un gain réel alors on pourrai s'amuser a recoder
beaucoup de fonctions vb dans un fichier obj pour remplacer celles de vb est accellerer vb
ben dis moi si c faisable ;op
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 30 oct. 2004 à 13:37
Un exemple serait le bienvenu ! et je note 10 parce qu'il n'y a pas plus haut !
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 10 sept. 2004 à 23:12
Je ne sais pas si j'ai bien compris.
Peut-on par exemple compiler des dll telles quel VB6FR.dll avec l'exe afin de supprimer sa dependance ?
Dragonmaster
Messages postés126Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention 3 avril 2009 10 sept. 2004 à 18:50
Menu projet > ajouter un fichier...
bouv
Messages postés1411Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 3 mars 20191 5 août 2004 à 11:34
Bonjour,
tout cela m'a l'air vraiment interressant, mais je ne vois pas comment ça marche.
Quelqu'un peut-il me dire comment ajouter un fichier au projet ?
Quelle est la différence avec les fichier .res ?
Merci d'avance
++
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 3 juil. 2004 à 05:39
Ouais. C'est vrai. J'ai regardé. Mais j'ai une solution assez (trop) simple pour compiler comme on veut : remplacer Link par un exe qui modifira la ligne de commande et qui va la renvoyer au vrai Link. Je travaille là dessu...
p.s. Moi, j'ai une opignion sur VBFrance : Ici, on partage ou source supprimée. Mais évidement, le problème c'est les Tatas qui eu volent les oeuvres et les signent de leur nom (je sais qu'il y en a qui se reconnaissent :-). Quand j'utilise un code qui n'est pas de moi, je le dit dans le module. Évidement, c'est mon opignion donc oubliez ça de ma part un projet sans source de ma part. De telles oeuvres méritent un profond respect de notre part.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 3 juil. 2004 à 02:12
Pour les sources, je pense que l'on peux s'orienter sur une autre de Eb, qui permettait de générer des Dll avec un fichier .def
la même technique est ici utilisée, je pense
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 2 juil. 2004 à 23:29
Bon puisque les soucres ne sont pas là, j'aimerais décrire un peu ce qui ce passe :
1-VB compile tout vos module, classe avec le fichier C2.exe. cela donne des obj
2-Le programme Link lie tout les obj ensembles :
(C'est là que le Add-In de EB intervient en modifiant la ligne de commande : il détourne sûrement les appels avec HookDLLCall)
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Afyn
Messages postés608Date d'inscriptionsamedi 3 août 2002StatutMembreDernière intervention22 décembre 2016 30 juin 2004 à 19:03
C une liaison statique ?
Et les fonctions importées sont chargées en mémoire ?
Ca doit encore être EBoustouflant ... !
Yop /!
Afyn
Navedac
(Je propose que l'on décerne l'ordre du mérite à EB ?)
Yop
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 29 juin 2004 à 19:58
Et pour les sources?
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 29 juin 2004 à 19:49
ben on peut tout inclure apparement ... VB créé des .obj a lié pour la compilation donc on peut y inclure tout type d'executable précompilé je pense... j'ai pa bien regardé encore mais ça semble excellent. Mais je crois pas que ça puisse rendre vb autonome :/. koike
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 29 juin 2004 à 18:36
WOW donc si je comprend bien, avec ça, on peut importer des éléments de librairies externes et les rentrer dans l'EXE donc on aurait pu besoin de la librairie. Peut-t'on importer des fonctions de DLLs (ou de tlb)?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 juin 2004 à 12:58
C'est que tu pourrais finir par rendre VB autonome......
Je sais deja que tu aime bien ne pas trainer tout un tas de dll, on peux désormais le faire avec ton code....
j'attends la suite ;)
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 29 juin 2004 à 11:41
>et bien si vous ne l'avez pas deja compris ...
Je sens que ça va être bien... mais je sens aussi que j'ai pas encore compris :o(
++
Moustachu
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 juin 2004 à 20:51
Voilà qui devrai permettre de booster encore un peu plus VB !
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 28 juin 2004 à 18:12
Alors là je sais pas quoi dire! je sais pas comment tu nous a pondu ça mais c'est trop excellent ! si si jte jure ;)
23 avril 2006 à 15:38
Quelqu'un peut m'expliquer le principe de ce "Addon pour vb"?
Merki bcp!
++
NK
1 janv. 2005 à 13:01
donc si je me trompe pas (j'ai bien dit si) on pourrai aussi bien remplacer des fonctions de vb par des fonctions dans un obj
donc si on avait le obj de la dll msvbvm6.dll on pourrai l'injecter dans vb et rendre l'exe autonome ?
(en theorie) bien sur je vois pas comment extraire le obj d'une dll donc deja c mort.
en gros suffit de coder une dll avec des export et s'assurer que le nom des fonctions sont les meme ?
un truc tout bete serait de faire une dll en C pour des fonctions comme Left(..) et Right(..) et tester le Gain de vitesse de la version en C via le .obj et la version originale de vb
si il a un gain réel alors on pourrai s'amuser a recoder
beaucoup de fonctions vb dans un fichier obj pour remplacer celles de vb est accellerer vb
ben dis moi si c faisable ;op
30 oct. 2004 à 13:37
10 sept. 2004 à 23:12
Peut-on par exemple compiler des dll telles quel VB6FR.dll avec l'exe afin de supprimer sa dependance ?
10 sept. 2004 à 18:50
5 août 2004 à 11:34
tout cela m'a l'air vraiment interressant, mais je ne vois pas comment ça marche.
Quelqu'un peut-il me dire comment ajouter un fichier au projet ?
Quelle est la différence avec les fichier .res ?
Merci d'avance
++
3 juil. 2004 à 05:39
p.s. Moi, j'ai une opignion sur VBFrance : Ici, on partage ou source supprimée. Mais évidement, le problème c'est les Tatas qui eu volent les oeuvres et les signent de leur nom (je sais qu'il y en a qui se reconnaissent :-). Quand j'utilise un code qui n'est pas de moi, je le dit dans le module. Évidement, c'est mon opignion donc oubliez ça de ma part un projet sans source de ma part. De telles oeuvres méritent un profond respect de notre part.
3 juil. 2004 à 02:12
la même technique est ici utilisée, je pense
2 juil. 2004 à 23:29
1-VB compile tout vos module, classe avec le fichier C2.exe. cela donne des obj
2-Le programme Link lie tout les obj ensembles :
(C'est là que le Add-In de EB intervient en modifiant la ligne de commande : il détourne sûrement les appels avec HookDLLCall)
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
usage: LINK [options] [files] [@commandfile]
options:
/ALIGN:#
/BASE:{address|@filename,key}
/COMMENT:comment
/DEBUG
/DEBUGTYPE:{CV|COFF}
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXETYPE:DYNAMIC
/EXPORT:symbol
/FIXED[:NO]
/FORCE[:{MULTIPLE|UNRESOLVED}]
/GPSIZE:#
/HEAP:reserve[,commit]
/IMPLIB:filename
/INCLUDE:symbol
/INCREMENTAL:{YES|NO}
/LARGEADDRESSAWARE[:NO]
/LIBPATH:dir
/LINK50COMPAT
/MACHINE:{ALPHA|ARM|IX86|MIPS|MIPS16|MIPSR41XX|PPC|SH3|SH4}
/MAP[:filename]
/MAPINFO:{EXPORTS|FIXUPS|LINES}
/MERGE:from=to
/NODEFAULTLIB[:library]
/NOENTRY
/NOLOGO
/OPT:{ICF[,iterations]|NOICF|NOREF|NOWIN98|REF|WIN98}
/ORDER:@filename
/OUT:filename
/PDB:{filename|NONE}
/PDBTYPE:{CON[SOLIDATE]|SEPT[YPES]}
/PROFILE
/RELEASE
/SECTION:name,[E][R][W][S][D][K][L][P][X]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE|POSIX}[,#[.##]]
/SWAPRUN:{CD|NET}
/TSAWARE[:NO]
/VERBOSE[:LIB]
/VERSION:#[.#]
/VXD
/WARN[:warninglevel]
/WINDOWSCE:{CONVERT|EMULATION}
/WS:AGGRESSIVE
3-Il en résulte un Exe
4-Si vous parlez Allemand, il y a un éxeclent article (sûrement car la traduction est à chier) :
http://www.activevb.de/tutorials/tut_einsprungpunktdll/einsprungpunktdll.html
5-S.V.P. EB, LES SOURCES!!!
30 juin 2004 à 19:03
Et les fonctions importées sont chargées en mémoire ?
Ca doit encore être EBoustouflant ... !
Yop /!
Afyn
Navedac
(Je propose que l'on décerne l'ordre du mérite à EB ?)
Yop
29 juin 2004 à 19:58
29 juin 2004 à 19:49
29 juin 2004 à 18:36
29 juin 2004 à 12:58
Je sais deja que tu aime bien ne pas trainer tout un tas de dll, on peux désormais le faire avec ton code....
j'attends la suite ;)
29 juin 2004 à 11:41
Je sens que ça va être bien... mais je sens aussi que j'ai pas encore compris :o(
++
Moustachu
28 juin 2004 à 20:51
28 juin 2004 à 18:12