Groups | Search | Server Info | Login | Register
Groups > comp.sys.acorn.programmer > #6580
| From | Paul Stewart <phorefaux@gmail.com> |
|---|---|
| Newsgroups | comp.sys.acorn.programmer |
| Subject | Re: End Drag and Wimp_SendMessage 18 DataSave |
| Date | 2025-12-29 15:53 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <ef79e1925c.Paul@phorefaux> (permalink) |
| References | <a772638e5c.Paul@phorefaux> <33b8e38e5c.Matthew@sinenomine.co.uk> |
In message <33b8e38e5c.Matthew@sinenomine.co.uk>
Matthew Phillips <spam2011m@yahoo.co.uk> wrote:
> In message <a772638e5c.Paul@phorefaux>
> on 20 Dec 2025 Paul Stewart wrote:
>> Hi guys,
>> Hoping someone can point out where I'm going wrong!
>> Having slight issue with Wimp_SendMessage DataSave.
>> Trying to do a save window.
>> I have created my save window and done the drag to filer window okay. I'm
>> able to drag to the filer window and release.
>> Getting stuck after I go into my end drag routine.
>> Not getting any error messages, everything looks like it is working okay,
>> but having called SYS"Wimp_SendMessage",18 at end of the procedure,
>> nothing happens!
>> Returns to my poll loop but not generating event 18 for me to then move
>> onto the next bit. The procedure is completing and returning to the poll
>> loop.
>> Here is both my Poll loop and the end drag routines. Hoping someone can
>> point out where I've messed up.
>> DEF PROCpoll
>> SYS "Wimp_Poll",,b% TO r%
>> CASE r% OF
>> WHEN 2: SYS "Wimp_OpenWindow",,b%
>> WHEN 3: SYS "Wimp_CloseWindow",,b%
>> CASE b%!0 OF
>> WHEN wh_main%: quit%=TRUE
>> WHEN wh_fwhosts%: PROCicon_deleteallicons(b%!0)
>> WHEN
>> wh_fwdiscs%:wh%=wh_main%:PROCicon_deleteallicons(b%!0)
>> WHEN wh_fwhostdiscs%:PROCicon_deleteallicons(b%!0)
>> ENDCASE
>> WHEN 6: PROCmouse_click
>> WHEN 7: PROCmouse_drag_end
>> WHEN 9: PROCmenu_click
>> WHEN 17,18: PROCreceive
>> ENDCASE
>> ENDPROC
>>:
>> DEF PROCmouse_drag_end
>> SYS "Wimp_GetPointerInfo",,b%
>> b%!20=b%!12:REM destination window handle
>> b%!24=b%!16:REM destination icon handle
>> b%!28=b%!0:REM destination x coordinate
>> b%!32=b%!4:REM destination y coordinate
>> b%!36=1024
>> b%!40=&DFE
>> a$=$savestr%+CHR$0:REM get leafname
>> $(b%+44)=a$:REM leafname of file
>> !b%=44+((LEN a$) DIV 4)*4:REM length of block
>> IF LEN a$ MOD 4<>0 THEN !b%+=4
>> b%!12=0:REM your_ref for original message
>> b%!16=1:REM Message_DataSave
>> b%!8=0
>> b%!4=task%
>> SYS"Wimp_SendMessage",18,b%,b%!20,b%!24
>> ENDPROC
> I cannot see anything immediately wrong with your code, but it's possible
> that the replies are not being passed back to you because of how you have
> registered with the Wimp.
Thanks very much. Indeed, Wimp_Initialse was the issue.
--
Paul Stewart
Sent from A9home running RISC OS 4.42
Back to comp.sys.acorn.programmer | Previous | Next — Previous in thread | Find similar
End Drag and Wimp_SendMessage 18 DataSave Paul Stewart <phorefaux@gmail.com> - 2025-12-20 22:32 +0000
Re: End Drag and Wimp_SendMessage 18 DataSave Matthew Phillips <spam2011m@yahoo.co.uk> - 2025-12-21 21:53 +0000
Re: End Drag and Wimp_SendMessage 18 DataSave Matthew Phillips <spam2011m@yahoo.co.uk> - 2025-12-21 21:58 +0000
Re: End Drag and Wimp_SendMessage 18 DataSave Paul Stewart <phorefaux@gmail.com> - 2025-12-29 15:53 +0000
csiph-web