Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Dynazip cannot release form help
Message
 
 
To
10/04/2000 03:43:32
General information
Forum:
Visual FoxPro
Category:
Third party products
Miscellaneous
Thread ID:
00356631
Message ID:
00357476
Views:
15
I dont see anything here that would cause a dangling reference.

As I said before, usually what prevents a form from being release is a dangling object reference. How is this form being called? Maybe you are not releasing the variable that the form is attached to, and that is keeping it in memory.

Here's an idea: return .F. from the Init of this form. Otherwise, when the init of the form is done, it will fire the Show, Activate, and Refresh events where you might have placed code.

Another idea would be to not release the form in the init. Maybe destroy the form from the MajorStatus event when the percent=100

>Hi,
>
>Actually, my form did had use the dynazip status bar display activex too.
>But I update the progress only in the MajorStatus event. The form will
>just halt after I see the progress bar reached 100%. Below are the code
>in my MajorStatus event method. Is this causing the problem. Please
>advise ,thank a lot.
>
>
>OleStatus.MajorStatus
>*** OLE Control Event ***
>LPARAMETERS itemname, percent, cancel
>
>THISFORM.oleStatus.StatusPercent = Percent
>
>
>>Sounds like you may have a dangling object reference
>>
>>Since you are using the MajorStatus event (since you are setting the MajorStatusFlag = .T.) you are obviously displaying some sort of progress thermometer. By any chance are you instantiating the progress thermometer and attaching it to a property of the form? If you are doing this and forget to remove the reference to the progress thermometer, the form cannot release itself.
>>
>>For example are you doing something like this in the MajorStatus event:
>>
>>
>>LPARAMETERS itemname,percent,cancel
>>IF TYPE("thisform.oTherm")!="O"
>>   thisform.oTherm = CREATEOBJECT("MyThermometer")
>>   thisform.oTherm.Show()
>>ENDIF
>>
>>thisform.oTherm.Update(itemname,percent)
>>
>>
>>Then you may want to execute something like the following in your init
>>
>>
>>_VFP.AutoYield = .F.
>>THISFORM.oleunZip.ActionDz = 8 && Unzipping
>>_VFP.AutoYield = .T.
>>thisform.oTherm.Release()
>>thisform.oTherm = .NULL.
>>this.Release()
>>
>>
>>Hope this helps,
>>Rick
>>
>>>Hi,
>>>
>>>I am using dynazip 4.0 activex to zip and unzip my application
>>>data files. However, my form which zip and unzip when pass in with
>>>their source file and destination location, will zip/unzip and
>>>'halt' without auto releasing the form. Below are code of my
>>>unzip form. I still unable to find the problem, please advise or help. Thank a lot.
>>>
>>>
>>>FORM.Init Method code
>>>=====================
>>>
>>>#DEFINE NO_ACTION 0
>>>#DEFINE USO_MINORCANCEL 2
>>>#DEFINE USO_EXTERNALPROG 4
>>>#DEFINE USO_EXTPROGCANCEL 8
>>>
>>>* source file name, destination where zip file will be extract to
>>>LPARAMETERS pvInputFileName, pvOutputFileName
>>>
>>>
>>>THISFORM.oleunzip.zipfile = ALLTRIM(pvInputFileName)
>>>ThisForm.oleunzip.RecurseFlag = .T.
>>>THISFORM.oleunzip.filespec='*.*'
>>>THISFORM.oleunzip.AllQuiet = .F.
>>>THISFORM.oleunzip.QuietFlag = .F.
>>>THISFORM.oleunzip.Destination = ALLTRIM(pvOutputFileName)
>>>THISFORM.oleunzip.OverwriteFlag = .T.
>>>THISFORM.oleunzip.MajorStatusFlag = .T.
>>>
>>>THISFORM.oleunzip.MessageCallbackFlag = .F.
>>>THISFORM.oleunzip.BackGroundProcessFlag = .T.
>>>ThisForm.oleunzip.NoDirectoryItemsFlag = .T.
>>>ThisForm.oleunzip.NoDirectoryNamesFlag = .F.
>>>
>>>
>>>_VFP.AutoYield = .F.
>>>
>>> THISFORM.oleunZip.ActionDz = 8 && Unzipping
>>>
>>>_VFP.AutoYield = .T.
>>>
>>>* after this part, it will not release this form even though
>>>I had 'release thisform' add here.
Rick Hodder
MCP Visual Foxpro
C#, VB.NET Developer
Independent Consultant
www.RickHodder.com
MyBlog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform