[Gambas-user] Problem with finished Shell Process.State <> Process.Stopped
Bruce Steers
bsteers4 at gmail.com
Mon Feb 27 01:15:58 CET 2023
On Mon, 27 Feb 2023 at 00:02, Jussi Lahtinen <jussi.lahtinen at gmail.com>
wrote:
> There is a bug in your code, this line makes no sense: "If pYtDlp And If
> pYtDlp.Running Then"
> Process.Running is constant with integer value 1. So, it is logically
> always true.
>
> Jussi
>
Aah yes well spotted Jussi.
Should be something like this really..
If pYtDlp Then
If pYtDlp.State = Process.Running Then
If Message.Warning("The download process is still running.", "Cancel
Close", "Abort Download") = 1 Then
Stop Event
Return
Else
pYtDlp.Kill
Endif
Endif
Endif
Be careful with statements like...
If Object And If Object.Property
Because If Object is not valid then testing the property can raise an error.
Respects
BruceS
>
> On Sun, Feb 26, 2023 at 10:20 PM T Lee Davidson <t.lee.davidson at gmail.com>
> wrote:
>
>> I am creating a project that uses yt-dlp to download media from Youtube.
>>
>> The project uses the Process = Shell [command] For Read as "Process"
>> syntax because I want to track and display the progress.
>>
>> Downloads work well, but the Process never goes to Process.Stopped state.
>> It works well on the command line and exits with code=0.
>>
>> There is a trap in the Form.Close event to prevent closing the
>> application while a download is in progress. I always have to
>> choose to abort the Process even though it is finished.
>>
>> Is this expected behavior, a bug, or my misunderstanding of Process?
>>
>> Demo attached.
>>
>>
>> --
>> Lee
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20230227/b7e3742a/attachment.htm>
More information about the User
mailing list