Saya membuat "Plugin" DLL untuk EXE. EXE memanggil fungsi di DLL dengan Objek sebagai parameter, dan melanjutkan dari sana.
Semuanya berfungsi dengan baik dan keren sampai saya membaginya ke utas baru. Kesalahan ini terjadi
Mencoba membaca atau menulis memori yang dilindungi. Hal ini sering kali merupakan indikasi bahwa memori lain rusak.
saat mengeksekusi kode ini pada objek di thread baru:
protected object GetPropertyValue(object obj, string PropertyName)
{
return obj.GetType().InvokeMember(PropertyName, BindingFlags.GetProperty, null, obj, new object[] { });
}
Di atas sedang mencoba mengakses properti pada objek COM. Mengubah fungsi menjadi 'publik' tidak mempengaruhinya. Namun kodenya berfungsi dengan baik jika saya hanya menggunakan satu utas.
Apa yang terjadi jelas: Thread baru tidak memiliki akses ke variabel di EXE. Bagaimana cara memperbaikinya? Tidak menggunakan thread bukanlah pilihan yang tepat.
Hargai bantuan apa pun