Пример кода для использования IBM PCOMM в C # o написать скребок для экрана as400 - PullRequest
2 голосов
/ 15 сентября 2008

Кто-нибудь использовал C # для написания примера скребка экрана для IBM as400?

Ответы [ 5 ]

3 голосов
/ 02 февраля 2016

При использовании interop.AutOIATypeLibrary и interop.AutPSTypeLibrary для построения библиотеки классов. Выдает ошибку, как показано ниже Невозможно преобразовать COM-объект типа 'AutPSTypeLibrary.AutPSClass' в интерфейсный тип 'AutPSTypeLibrary.IAutPS'. Эта операция завершилась неудачно, поскольку вызов QueryInterface для компонента COM для интерфейса с IID '{891FC4A1-7DD8-11D0-9112-0004AC3617E1}' завершился ошибкой из-за следующей ошибки: такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE))

Я использую VS2017, Framework 4.5. Interlo Dll регистрируются с помощью regasm.exe в framework64, ссылка добавлена ​​

Над Dlls работает отлично, при создании проекта с помощью приложения Console Application / Win.

3 голосов
/ 20 ноября 2008

http://www.codeproject.com/KB/cs/all_ehllapi.aspx

Я изменил этот пример, и он отлично работает.

0 голосов
/ 05 февраля 2019

Я работаю с этими библиотеками каждый день. Не стесняйтесь сообщать мне, если вам что-то нужно.

Пример:

using AutOIATypeLibrary;
using AutPSTypeLibrary;

namespace MyNamespace
{
    public class Program 
    {
         public AutPS PS = new AutPS();
         public AutOIA OI = new AutOIA();
         static void Main()
        {
            PS.SetConnectionByName("A");
            OI.SetConnectionByName("A");
             // Gets a string from the presentation space at row 1, col 1, length 5
            PS.GetText(1, 1, 5); 

            // Gets the entire screen as a string. parse as needed.
            PS.GetText(1, 1, PS.NumRows * PS.NumCols);

            // Searches for a literal string in the presentation space by going forward from your row/col
            PS.SearchText("LiteralString".ToUpper(), PsDir.pcSrchForward, 1, 1);
        }
    }
}
0 голосов
/ 23 сентября 2008

Возможно, вы захотите взглянуть на новые функции в PHP. Последняя версия PHP имеет процессор 5250, который позволяет создавать веб-приложение, которое работает так, как будто оно взаимодействует с зеленым экраном. 5250 Информация о мосту

Я понимаю, что вы хотели C #, но я не видел ничего поддерживаемого, который напрямую взаимодействует с экранами. Может быть, написать приложение PHP для подключения к 5250 и подключения вашего C # оттуда.

0 голосов
/ 15 сентября 2008

Я написал один на C много лет назад для проекта на Frigidaire. Внутренняя карта вызовет все виды забав с утечками памяти, но я в итоге нашел решение, разместив массивы на границе карты связи. Это было более 8 лет назад, я уверен, что сегодняшние карты намного лучше и / или используют нативный комм для чтения экранов AS400.

...