В настоящее время я пытаюсь создать процедуру тестирования и передать ей строку. И функция проверяет строку для эквивалентности. Проблема в том, что при запуске теста я получаю ошибку нарушения доступа EAccessViolation в строке, которую я передаю внутри процедуры. Я понимаю, что это проблема с объявлением памяти, но я не уверен, как ее исправить.Delphi pass string для процедуры получает ошибку нарушения доступа
Вот мой код:
Объявить
TestTForm1 = class(TTestCase)
strict private
FForm1: TForm1;
public
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestCompareListBoxToFile(Method : String);
end;
Вызов
TestCompareListBoxToFile('Save');
Процедура
procedure TestTForm1.TestCompareListBoxToFile(Method : String);
begin
Check('Save' = Method,'they dont match');
end;
Я новичок в Дельфах, так что если есть что-то мне не хватает , позвольте мне kno ш. пожалуйста, укажите в ответе. Спасибо.
Где вы заявляете процедуру 'TestCompareListBoxToFile'? (Я подозреваю, что это в DLL, что означает, что вы нарушаете стандартное правило «не передавайте строки в DLL, так как они не совместимы»). –
сразу после TestTForm1 = class (TTestCase) –
иметь смысл. Нет абсолютно никакого способа, чтобы AV передал код, который вы опубликовали. –