1) No, DOS 8.3 name truncation was done from the very beginning. If it does not work for you (you need long names for memory files) we'll have to re-write this code.
2) Callbacks use FULL names (including path) so users can parse it. For memory located files we can do say <MEMORY>\<file name you've created> self-constructed path. If you need it.
cyust wrote:
Thanks Anton.
1) I'm not sure from your response...presumably the 8.3 limitation is considered a bug that you will fix in the SDK? Otherwise the method is useless for long filenames. My workaround in QA right now is to write the 100MB memory blob to a temp file, Add() the temp file, then delete it. That'll pass functional testing but will slow the machine to a crawl in high-performance scenarios (our product is very disk-intensive, so we need to minimize the disk I/O).
2) I am not currently relying on the missing buffer name in the callback for any product features, I just noted it as an interesting fact in the truncation scenario. As far as what *should* happen from a general usability standpoint, I would think that the callback should contain the buffer name that was passed into the AddMemory() method. Is there any reason why the buffer name from AddMemory() can't be used as-is for both the eventual long filename and the callback parameter?
Regards,
Chris