-
Ich denke mal, du musst die WHLLAPI's verwenden. Da gibt's beim QuerySessionStatus eine Struktur die die Infos enthält.
-
Von der WHLLAPI hab ich schon gehört... Diese ist aber leider nicht Bestandteil des Entwickler-Toolkits von IBM. Wo kann man sich die DLL offiziell runterladen?
-
Bei mir ist die Lib im Verzeichnis:
C:\Program Files (x86)\IBM\Client Access\Toolkit\Lib\PC5250\Standard
Alternativ gibt es wohl noch C++-Klassen "ECLxxx" die das Ganze komfortabler gestalten.
-
Ok, ich hab immer nach einer whllapi.dll gesucht, in dem Ordner finde ich nur eine lib-Datei. Aber ich brauche doch eine dll, damit ich diese einbinden kann... Oder steh ich jetzt vollkommen auf dem Schlauch. Als Entwicklungsplattform wird VS 2010 eingesetzt.
-
Die Lib wird vom Linker eingebunden und enthält die von dir aufgerufenen Funktionen.
Welche DLL-Funktionen im Endeffekt aufgerufen werden spielt keine Rolle, da eine Lib dies kapselt.
Welche Funktionen in einer Lib vorhanden sind, kannst du hier ermitteln:
A tool to view a LIB - CodeProject
-
Ok, so langsam komm ich dahinter... Die LIB's sind nur für C/C++... Gibt es einen alternativen Weg für Managed Code? Unsere Entwicklung beschränkt sich auf VB.NET und C#. In dem Umfeld kann ich mit LIB-Dateien nicht viel anfangen. Welche anderen Wege gibt es noch?
-
Für managed Code gibt es da leider nichts.
Du kannst dir da mittels C++ eine ATL-COM-Wrapperklasse erstellen .
Ansonsten habe ich die DLL's auch gefunden, die stecken in
C:\Program Files (x86)\IBM\Client Access\Emulator
-
Ok, es gibt da noch was:
PCOMM ActiveX enthält eine ganze Reihe von Objekten und Methoden zur Steuerung von 5250.
Hier gibts auch ein Beispiel.
Four Hundred Guru--Use PCOMM Scripts to Execute Remote PC Commands, Part 1
Und hier die Dokumentation:
Help - Personal Communications
In VB.Net und C# kann man VBScript auch native verwenden.
Alternativ muss man die PCOMM-Typelib's (registriert als COM-Objekte) in Wrapper-Klassen übersetzen lassen, das kann VisualStudio selber.
Dann hat man direkte managed Zugriffsobjekte.
Allerdings sollte man COM-Objekte selber explizit auflösen.
COM-Objekte in .NET deterministisch freigeben
-
Hallo,
vielen Dank für deine Anregungen Mittlerweile habe ich eine Lösung für Managed Code erarbeitet. Für alle, die das selbe Problem haben, hier ein kleiner Beispielcode:
Code:
Public Sub QuerySessionStatus()
Dim data As HLDQuerySessionStatus
Dim p As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(data))
Try
Dim ret As UInteger = 0
Dim l As UInt32 = 20
Dim rc As UInt32 = 0
data.qsst_shortname = Me.sessionId
Marshal.StructureToPtr(data, p, False)
Dim f As UInt32 = HA_QUERY_SESSION_STATUS
ret = hllapi2(f, p, l, rc)
data = Marshal.PtrToStructure(p, data.GetType)
Me.ScreenHeight = data.qsst_ps_rows
Me.ScreenWidth = data.qsst_ps_cols
Catch ex As Exception
'pass the error to the caller
Throw ex
Finally
Marshal.FreeHGlobal(p)
End Try
End Sub
Danke!
Similar Threads
-
By RPG in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 10-01-13, 10:51
-
By roko in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 24-04-09, 14:55
-
By BMP in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 21-11-06, 12:18
-
By hgdieterle in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 12-04-06, 16:07
-
By freds in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-01-06, 09:48
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks