рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

RaiseValue ENDP

RaiseValue ENDP - раздел Образование, Creating a COM object in ASM     Mycom.dll, The Server Code ---------...

 

 

MyCom.dll, the server code

---------------------------------------------------------------------------------------------------------------------To build the COM server use the BLDDLL.BAT file provided in "masm32COMBIN" file under Quick Editor to compile. I suggest you change your editor menu settings to include a "Build DLL" option.

 

This project requires 5 files to build it:

 

MyCom.asm The main assembly code for the project

 

MyCom.idl Interface definition file, must be compiled to MyCom.tlb

 

MyCom.tlb Type Library, needed as a resource

 

rsrc.rc The resource file, just used to get the type library into the resource

 

MyCom.DEF Standard DLL export file

 

Once compiled, this code will do NOTHING, that is until you register it. The easiest way is to open a dos box to the folder where the dll is, and run: regsvr32 MyCom.dll.Alternatively, I have provided the bat files .r.bat and u.bat to register and unregister, respectivly, the MyCom component.

 

Running MyCom.dll through regsvr32 will invoke the DllRegisterServer export and write our information into the registry so we can...

 

 

Access the Server from Visual Basic

---------------------------------------------------------------------------------------------------------------------Make sure the blinds are drawn so the neighbors do not see you actually own Visual Basic. Open VB and start a Standard .Exe project. Look in the menu for Project | References and click it. Scroll through the list and check the box MyCom, and click OK. This adds the class ID to the VB application, and VB will look through the type library for further information on the server.

 

In the form designer, add textboxes Text1 and Text2 to the Form1, then add a command button Command1. Change the command caption to Raise. Now to the Form1 code area, and add the following:

 

– Конец работы –

Эта тема принадлежит разделу:

Creating a COM object in ASM

aggregate REFIID riid... Reference to the interface identifier... Oid ppvObject Address of output variable that receives...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: RaiseValue ENDP

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Creating a COM object in ASM
  Copyright © Dec 27, 2000 by Ernest Murphy ernie@surfree.com For educational use only. All commercial use only by written license.   Revised December

Increments or decrements the lock count
  LockServer keeps the class factory instanced (helpful if one has to make numerous object copies). CreateInstance is the workhorse here, it is used to creates the object's "work

MyComObject ENDS
  The first point is I have great latitude in defining this structure. The only element that the COM contract imposes on it is that it contain a DWORD pointer to the vtable of functio

Interface IMyCom : IUnknown
{ [propget, helpstring("property Value")] HRESULT Value([out, retval] long *pVal); [propput, helpstri

Coclass MyCom
{ [default] interface IMyCom; }; };     This file can be used as

RaiseValue PROTO :DWORD, :DWORD
  BIG difference... but for a simple reason. Interfaces written for type libraries are as general as can be, and are directed at clients such as Visual Basic, and VB is designed to ho

Typelib MyCom.tlb
  Making it the first resource element is important, as later on we will be using the LoadTypeLib API function to extract this library, and this function expects to find the library a

HKEY_CLASSES_ROOTTypeLib{A21A8C42-1266-11D4-A324-0040F6D487D9}1.0HELPDIR
(Default) "C:masm32COMMyCom"   One key value here is variable, that is the path and name of the server dll itself. On my system I placed it at &quo

AddRef_MC endp
  AddRef is a bit unusual in that it does not return a HRESULT (failure code), instead it returns the object count. The return value is undefined in the COM contract, but it is tradit

End Sub
  Now you can run the application and test the server by clicking the Raise button. Do be careful, there is no error checking to see if you put a valid number in Text2. What you are s

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги