У меня есть программа, которая не работает
Эта программа разработана под управлением Borland C++ (V4) , работающего на Win XP. Программа была разработана для работы на Win XP, Vista, 7 и 10. Он работает с включенными полными "привалегами" и прекрасно работает уже много лет. Я иногда добавляю улучшения.
Самое последнее-это отображение имени системного принтера по умолчанию. Он отлично работает на XP (не пробовал Vista), но выходит из строя на Win 7 & 10. Незаконный доступ к памяти 0000 004C.
Вот оскорбительный код:
AnsiString s_Bfr s_Bfr = Printer()->Printers[Printer()->PrinterIndex ].GetText();
Есть какие-нибудь мысли о том, почему?
Программа действительно печатает отчеты, я хотел, чтобы пользователь знал, какой принтер используется.
Что я уже пробовал:
Единственная инструкция-это причина. Если я это прокомментирую, никакого сбоя не будет.
KarstenK
разделите этот оператор на 5 (fixe) операторов с нулевой проверкой, чтобы убедиться, что он не рухнет. Это также помогает отладить его.