Tôi thực sự không hiểu làm thế nào là lỗi này xảy ra ở mã này. Vui lòng kiểm tra mã cho chính mìnhĐã cố gắng đọc hoặc ghi bộ nhớ được bảo vệ. Đây thường là dấu hiệu cho thấy bộ nhớ khác bị hỏng
void dispatcherTimer_Tick(object sender, EventArgs e)
{
string srUrl = lstLocalIndex[irLocalIndex] + lstMainIndex[irMainIndex].Replace("0;","");
Task.Factory.StartNew(() =>
{
startNewWindow(srUrl);
});
}
void startNewWindow(string srUrl)
{
NewWindowThread<TitleWindow, string>(c => new TitleWindow(c), srUrl);
}
Bây giờ mã này là nơi xảy ra lỗi. Tôi cũng sẽ đính kèm ảnh chụp màn hình
private void NewWindowThread<T, P>(Func<P, T> constructor, P param) where T : Window
{
Thread thread = new Thread(() =>
{
T w = constructor(param);
w.Show();
w.Closed += (sender, e) => w.Dispatcher.InvokeShutdown();
try
{
System.Windows.Threading.Dispatcher.Run();
}
catch
{
}
});
thread.SetApartmentState(ApartmentState.STA);
try
{
thread.Start();
}
catch
{
}
}
Lỗi này gây ra toàn bộ lỗi phần mềm ném và ngừng làm việc mặc dù tôi đang gọi họ trong chủ đề mới :(
Dòng này ném lỗi System.Windows.Threading.Dispatcher. Run();
Vui lòng kiểm tra cũng screenshot
C# 4.0 WPF
Bạn đang sử dụng * hai * chủ đề, một trong 'Task' và sau đó là' Thread', tốt hơn là chỉ đặt mã bạn muốn chạy làm mã khởi động trong 'Thread'. – casperOne
@casperOne Tôi cũng đã thử rằng ứng dụng vẫn gặp sự cố. Và điều này xảy ra sau một thời gian không ngay lập tức. Nó chạy như 30 phút sau đó sụp đổ. Thời gian đổ vỡ thay đổi. – MonsterMMORPG
Không, họ nói rằng bộ nhớ của bạn bị hỏng. Nó phải là như vậy! (btw đó là thông báo lỗi ngu ngốc nhất tôi gặp phải sau 'lỗi không xác định'). – leppie