FIX: "Paging Error" with DDEPOKE and String Greater Than 64K

ID: Q120189

2.5x 2.60 WINDOWS kbinterop kbbuglist kbfixlist kberrmsg

The information in this article applies to:

SYMPTOMS

The following error occurs when you attempt to send a string greater than 64K to another application with dynamic data exchange (DDE):

   Application Error
   FoxProw caused a Paging Error
   in Module DDEML.DLL at ...

CAUSE

FoxPro 2.5x and 2.6 for Windows can send a string length up to 64K, but not greater.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in FoxPro version 2.6a for Windows.

MORE INFORMATION

Steps to Reproduce Problem

Create and run the following program to reproduce the problem:

   WAIT WINDOW "Be sure WinWord is closed"
   RUN /N7 C:\WINWORD\WINWORD.EXE
   text = REPLICATE("123456789 ",150000)  && length = 1.5M
   doc = "bigone.doc"
   mchannel = DDEINITIATE("winword","system")
   = DDEEXECUTE(mchannel,'[FileNewDefault]')
   = DDEEXECUTE(mchannel,'[FileSaveAs.Name="&doc"]')
   = DDEEXECUTE(mchannel,'[EditBookMark.Name="big"]')
   = DDETERMINATE(mchannel)
   mchannel = DDEINITIATE("winword","&doc")
   = DDEPOKE(mchannel,"big",text)
   WAIT WINDOW "DDELastError=" + ALLTRIM(STR(DDELASTERROR())) + ;
      "  ... Zero means 'no error'"
   = DDETERMINATE(mchannel)

Additional reference words: FoxWin 2.50 2.50a 2.50b 2.60 buglist2.50 buglist2.50a buglist2.50b buglist2.60 fixlist2.60a errmsg err msg KBCategory: kbinterop kbbuglist kbfixlist kberrmsg KBSubcategory: FxinteropDde Solution Type : kbfix

Last Reviewed: October 20, 1997