OK, in this part i am a complete noob, i want to know the diferences betwen plug-in and a add-in and the adventages/disventages, i think now that plug is like connect to and a add-in is more like other program that you add???

Ok also i have other litle question regard this, if i decide code a control can be used as both, or only can be one??, also, how can i connect and app with other things outside??, need a 'interface'???

Only a end thing, how is the WindowsUpdate work, normally when i need update for example.. editor or some, you normally download all the principal progam and other dlls, etc, but for example in some games you can download patch.. that i think do that.. and not need reload the wole package, and how i can do that?? a patch?? for not download the whole??

in fact the question that encloses my anterior questions is how i can develop a expandible app (with the use of plug-in, add-in or controls with a ?respective interface? or any other method) with a easy update???
Posted on 2003-05-18 19:33:02 by rea
Afternoon, hgb.

Chuck everything into various dlls which can be updated individually.

Work out a design for an interface between your main exe and the dlls.

Cheers,
Scronty
Posted on 2003-05-19 03:52:04 by Scronty
Morning Sronty ;)

and the part of update??, i think it will be "more" fast if can have other program/plug-in that let me for example.. if in my programm/dll have a funciton that i want update, but make a asumption that the size of the dll is 5 megs :) and the function in that i update in the file is only 80 bytes long and the new is 54bytes long.. do you think is reasonable download 5 megs?? instead of 54 bytes +/- including the format for make the update???

I think now in a format like cvs.. or some like that...
Posted on 2003-05-19 09:56:26 by rea
Afternoon, hgb.

If you want to modify code inside a dll, then you might as well stop asking right now. This is a no-no discussion on this board.

However...
The whole point is to *not* use a 5meg dll. Break it up into smaller dlls.
Also: 5 megs is a seriously large file. Something that large would probably be full of images/sound resources. (unless it was built using Delphi ;) ).

The only real difference would be in load times for your proggy I'd guess.

You mentioned something about WindowsUpdate. I don't know what you've seen, but from what I've downloaded, there is no "patch". The complete dll/other files are inside the installation packages.

What you could possibly have is this:
The original proggy comes out with a single friggin' huge dll. The proggy uses the functions inside that dll by using loadlibrary/getprocaddress. The proggy also checks for any plugins/updates/etc dlls. If a new dll has a function with the same name as one in the original dll, it uses the newer function instead.

With this system, the original release of your proggy can include that huge 5 meg dll as you've mentioned, however for updating you just have to supply a new dll with the single function which has been updated.

Cheers,
Scronty
Posted on 2003-05-19 17:32:49 by Scronty
afternon :D

sorry, bu ti will no ask more about it.. now i understand.. than a simple question can cause that and i understand in fact.. i will do that for a project that i am triying start in some place with cvs that i supose all of you know.. i am waiting for the reply if they give me the permision ;) muahahahhaha!!!!! this project.. is a type of presion for me for learn more fast... :D, ok.. i will need learn that in the hard way.. but later when i terminate the application you will see that is not a "bad" aproach.. like i say in the past.. the bad is the person that use some knowledge.. i will use.. for make more fast updates :) to my app ... i will ask after i terminate if no are other way of do it.... the project will be nasm oriented :D... if i cant do what i try in this project.. i will think seriously if this "carrera" is for me....



Ok... and the other question?? for what the diferent names??? add-in, plug-in, also i was reading some post.. and i find the termine add-on.... is really there a diference???? in implementing this type of ""progs??" or are only diferent names for the same thing????, if are only diferent for the same thing.. for what the diferent names.. also are other types of .. plug-in, -on, -up, -betwen???

thx in advance
Posted on 2003-05-19 18:21:16 by rea
Afternoon, hgb.

First of all...regarding the idea of "patching" a dll...
Even though you wouldn't have a problem in patching a function that's 54 bytes long to replace one that's 80 bytes long... you will probably find that that will never be the case.

Most error-corrected code will be larger than the original code. To add/replace that, you would need to modify the entire file ( in headers/sections/CRC/etc). It' a *huge* friggin' job, and one that will screw up the original dll if you miss a single thing...unless you add hundreds of NOP instructions into the original Dll code.

Have a read of Iczs PE tuts to get an understanding of the effort you'd have to go through [here ] (if that direct link doesn't allow you to download, go to the Tutorials page on [ http://win32asm.cjb.net ] ).

Also: why Nasm for frigs' sake?:tongue:

The different names are pretty much used to explain the same thing. Different people specify plugins are one thing and add-ons are another...but to me there's no real difference.

They are things that expand the capabilities of the original exe.
This could be a Dll which the exe uses in certain areas (i.e. an Image plugin dll for a painting proggy like PSP or PS).
They could be utility exes which the main proggy calls (i.e. the BINTODB.exe utility which comes with Masm32).
However in most cases, they'd be Dlls.

For a main proggy, it'd be *very* interesting to have it as a DLL engine only, and have *all* code inside dlls for easy updatability. Even the main window creation/wndproc/messagepump/etc could be in dlls:alright: .
There'd be main dlls which you youself build, and "plugin/addon" dlls which could be built be third parties.

Cheers,
Scronty
Posted on 2003-05-19 18:50:24 by Scronty
Originally posted by Scronty
Also: why Nasm for frigs' sake?:tongue:



is the sanem question that i have in me nightmares...lol

no, i like, but also is the first assembler that i get/find and start learn.. in the hard way :)... that was confusing :), now i think i can handle, this the why.


Ok i am thinking.. if you need a interface for your add/plug or here i choose call that expansion files :D, if you need a interface or protocol for send messages/commands, etc. What happend.. if i choose to put inside each file of expansion and include the main file a funtion that give me in an array show me all the functions that i will let other programs use of this.. instead of making a interface??? for eg.. if my main prog is:

main:
;This is all that my original prog do

ShowWindow
GetValue
UpdateWindow
CloseWindow

otherProg:
FormatValue
ignoreVal



how i can do for.. in the final execution some like the next append?

Program_Execution:
GetValue
FormatValue
UpdateWindow or ignoreVal
CloseWindow

I have.. a solution in my mind, but now i choose dont show for the moment.. only for dont confuse you or other people :)

thx in advance :)

Have nice day.
Posted on 2003-05-20 19:56:51 by rea