<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Bo Berglund via lazarus <<a href="mailto:lazarus@lists.lazarus-ide.org">lazarus@lists.lazarus-ide.org</a>> schrieb am Mo., 20. Nov. 2023, 15:09:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, 19 Nov 2023 14:50:34 +0100, Bo Berglund via lazarus<br>
<<a href="mailto:lazarus@lists.lazarus-ide.org" target="_blank" rel="noreferrer">lazarus@lists.lazarus-ide.org</a>> wrote:<br>
<br>
>Lazarus contains LibVLC as a standard package available to be installed in the<br>
>GUI using Package/Install-remove packages! No download needed from external<br>
>sources!<br>
<br>
>Anyway, I have been experimenting with the example inside the package code and<br>
>also read Michael's document "Displaying video files using Free Pascal and<br>
>Lazarus".<br>
><br>
>I think I can switch out PasLibVLC and replace it with the LclVLC player instead<br>
>but I need some help in implementation.<br>
><br>
>There are some functions I would like to get hints on how to implement:<br>
><br>
>1) Progressbar update<br>
>---------------------<br>
THIS IS NOW SOLVED!<br>
--------------------<br>
I added a TThread.Create... statement as I found in the document, without really<br>
understanding how it can help. Seems to me like creating a thread that<br>
immediately exits. What can that do?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It ensures that the RTL is multi threading aware, cause as long as no Pascal thread is started (which is the case for many programs) some shortcuts are taken by not using locks and such. However if you use an external library that starts non-Pascal threads that then call into the Pascal code things might go wrong due to this. Thus creating an empty thread will ensure that all locks are properly in place. </div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Sven </div></div>