![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Transferring OLEs from one module to another Topic Summary: Memory leak issue with RichTextWithOle command Created On: 4-Sep-2006 19:33 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() Answer: I am guessing that strings are being added to the string table, and if this is the case then the full rtf with ole string is usually massive. Just a hunch, I have not tried this but have you tried using the following: void set(Attr__, Attrr__) usage: set(MyTarget."My Attribute", MySource."My Attribute") | |
![]() |
|
I am getting a quite staggerring memory leak issue when updating a company module from a supplier module. Although the archive of the module is only 20Mb, the process eats 1GB of memory before crashing out. ie it only releases a fraction of the memory used after each OLE is sucked accross from one object to the other. I ended up racking up about 200MB for each objects in the worst cases. Tried several differrent tacks, ie using the clipboard, undocumented variants, temporary strings. No luck. Nothing I tried made a significant differrence to the amount of memory that was consumed. Anyone experienced similar issues and come up with a solution? The following is the offending line of code : -
MyTarget."My Attribute" = richTextWithOle(MySource."My Attribute", true) The problem seems to stem from how the supplier has inserted the OLES, most of the memory hungry ones are reported to be image objects, if they are converted to pictures within Word Documents for instance then I don't get the severe memory leak, but this is a bit of a pain to do and should not be neccessary. Why theses particular objects should sit quite comfortably in their modules but eat massive chunks of memory when copied is a mystery to me. The modules and objects load in a reasonable time and displaying them doesn't cause a catastrophic memory leak. Can any one draw any light on this? ------------------------- Regards, Richard Good |
|
![]() |
|
![]() |
|
I am guessing that strings are being added to the string table, and if this is the case then the full rtf with ole string is usually massive.
Just a hunch, I have not tried this but have you tried using the following: void set(Attr__, Attrr__) usage: set(MyTarget."My Attribute", MySource."My Attribute") ------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
Absolutely right, I had a search for some undocumented commands, but didn't find that, only lots of things that didn't work
![]() string set(Attr__, Attr__) I think the string returns any errors. This technique is vastly better/ faster than the richTextWithOle for transferring an objects attributes, although it doesn't give absolutely all the memory back still had 200MB extra used at the end of the process (about 10 leagues better though). Think that this command should go to the top of the undocumented tricks pile (either I'm blind or its not in the help file in any form, should be in the attribute value or richtext sections). By the way, many thanks for the pointer on using Microsofts XML library you gave me some time ago, I've found it extremely useful/time saving. ------------------------- Regards, Richard Good Edited: 5-Sep-2006 at 18:32 by Richard Good |
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.