如何保护MATLAB编译的.exe:
我应该使用哪些包装工具,保护工具等?
matlab protection piracy piracy-prevention piracy-protection
在我的程序中有一个BackgroundWorker类,它将图像预加载到BitmapImage对象.我需要将预加载的图像传递给主应用程序(WPF),然后将其复制到另一个BitmapImage对象.然而,当我尝试时,这似乎有效
imgViewer.Source = imgNext; //imgNext is a main app copy of the preloaded image
Run Code Online (Sandbox Code Playgroud)
发生错误意味着该对象(imgNext)由另一个线程拥有并且无法使用.
任何想法如何摆脱它并使代码工作?
谢谢大家的回答!
事实上,我设法通过创建一个静态BitmapImage
内部App
类来解决这个问题.在使用它之前,我做到了
App.iNext = null;
Run Code Online (Sandbox Code Playgroud)
然后我加载实际图像并冻结它,这样就可以从任何地方访问这个静态属性.当循环重复多次时,指定null可防止"对象冻结"错误.
当然,管理单个BGW实例,排队任务等方面还有很多工作要做.
(目前我正在使用在我的程序中定义的ImagesContainer类,它具有两个BitmapImage属性.我用它来接收来自backgroundworker的预加载图像.)
imgNext是MainWindow中定义的公共变量.(主线程)
void bwImgLoader_DoWork(object sender, DoWorkEventArgs e)
{
backgrLoadNextPrevList list = e.Argument as backgrLoadNextPrevList;
ImagesContainer result = new ImagesContainer();
if (list.HasNextPath) result.imgPrev = PrepareImage(list.NextPath);
if (list.HasPrevPath) result.imgNext = PrepareImage(list.PrevPath);
e.Result = result;
}
void bwImgLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
ImagesContainer result = e.Result as ImagesContainer;
if (result.imgNext != null)
{
setNextDelegate s = …
Run Code Online (Sandbox Code Playgroud) 我有以下正则表达式:
/\{\s?joomla-tag\s+(.*<+.+>+.*)\s?\}/is
Run Code Online (Sandbox Code Playgroud)
和以下代码:
$regex = "/\{\s?joomla-tag\s+(.*<+.+>+.*)\s?\}/is";
$replace = '<div class="someclass">$1</div>';
$text = preg_replace( $regex, $replace, $text );
Run Code Online (Sandbox Code Playgroud)
但是,不幸的是,它无法匹配以下代码(尽管如此):
.... many html lines .......
<p>123{joomla-tag Lore<strong>m</strong> ip</p>
<p>sum dolor sit amet}</p>
.... many html lines .......
Run Code Online (Sandbox Code Playgroud)
请参阅真实示例: http ://pastebin.com/WSQyrmxd
怎么了:正则表达还是其他什么?你能告诉你正确的变体吗?在RegExr中,一切都很顺利,但不是在PHP中.
在本地服务器上,我只是在preg_replace之后得到NULL
编辑: 最后我找到了一个解决方案:(谢谢,sg3s,一个想法) http://www.pelagodesign.com/blog/2008/01/25/wtf-preg_replace-returns-null/
客户端是否有可能以某种方式修改PHP超全局变量,特别是$ _SERVER - 可能不是常见的方式?
换句话说,这段代码是否安全:
if (($this->error->getCode()) == '404') {
ob_clean();
echo @file_get_contents("http://".$_SERVER['SERVER_NAME'].'/404.html');
}
Run Code Online (Sandbox Code Playgroud)