Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!unido!rwthinf!slcdec!hippo!f1.n6000.z2.fidonet.org!p4.f36.n245.z2.fidonet.org!Norbert_Unterberg From: Norbert_Unterberg@p4.f36.n245.z2.fidonet.org (Norbert Unterberg) Newsgroups: comp.windows.ms.programmer Subject: Re: Strange clobberings. Message-ID: <1745641295@p4.f36.n245.z2.fidonet.org> Date: 16 Jun 91 11:25:00 GMT References: <72170013@otter.hpl.hp.com> Reply-To: Norbert_Unterberg%p4.f36.n245.z2@hippo.dfv.rwth-aachen.de (Norbert Unterberg) Organization: Point of SoftStream, Dortmund, Germany Lines: 16 Comment-To: Hugh_Duggan@f1.n6000.z2.fidonet.org (Hugh Duggan) > Your dialogue box function is being called by Windows, not directly > by any code you have written. Consequently, you cannot guarantee to > have the correct data segment loaded (it is just chance that your > second example worked- in the other cases, Windows has loaded its own > data segment). You CAN guaranty that the data segment is set uo correctly. That's one of the important tasks of MakeProcInstance. If you pass the `procedure instance address' to the DialogBox() function AND list the function in the EXPORT section of the DEF file, Windows will load your application's data segment into DS whenever it calls the dialog box procedure. Norbert Dortmund, FRG