csharp owncode object reference not set to an instance of an object

  • Автор темы Автор темы btr
  • Дата начала Дата начала

btr

Client
Регистрация
21.09.2015
Сообщения
71
Реакции
15
Баллы
8
+csharp owncode out of memory
+csharp owncode the path is not of a legal form
Вот такие ошибки вылетают на таком коде:
//Отправка капчи из картинки

var captcha__get = project.Variables["captcha__get"].Value;
var image = System.Drawing.Image.FromFile(@captcha__get);

string base64String = String.Empty;

using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageBytes = ms.ToArray();

base64String = Convert.ToBase64String(imageBytes);
}

var result = ZennoPoster.CaptchaRecognition("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;

Помогите решить, раньше подобного не было.
Пару недель не трогал зенку, сегодня включил проект, а он не работает ((((
 
по out of memory
вот так напишите:
C#:
Развернуть Свернуть Копировать
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
string base64String = String.Empty;
using (var image = System.Drawing.Image.FromFile(@captcha__get))
{
    using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
    {
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        byte[] imageBytes = ms.ToArray();
        base64String = Convert.ToBase64String(imageBytes);
    }
}
var result = ZennoPoster.CaptchaRecognition("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
память не чистите после обработки картинки, а .NET сам не успевает


по the path is not of a legal form:
путь к картинке не правильный передаете, можете обернуть в try catch и в логи писать project.Variables["captcha__get"].Value
 
  • Оценить
Реакции: btr и rostonix
спасибо за помощь.
Сам я в шарпе практически полный ноль, поэтому врятли сам второе реализую.
Если кто может скиньте готовый код пожалуйста.
 
C#:
Развернуть Свернуть Копировать
//Отправка капчи из картинки
var captcha__get = project.Variables["captcha__get"].Value;
string base64String = String.Empty;
try{
using (var image = System.Drawing.Image.FromFile(@captcha__get))
{
    using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
    {
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        byte[] imageBytes = ms.ToArray();
        base64String = Convert.ToBase64String(imageBytes);
    }
}
}
catch
{
    project.SendWarningToLog(project.Variables["captcha__get"].Value, "Проблема с файлом каптчи");
}
var result = ZennoPoster.CaptchaRecognition("BypassCaptcha.dll", base64String, "");
// отрезаем лишнее
var tmp = result.Split(new [] {"-|-"}, StringSplitOptions.None);
if (tmp.Length > 1) return tmp[0];
return result;
 
Последнее редактирование модератором:
  • Оценить
Реакции: btr

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)