vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen und Antworten zur vbarchiv.dll
Vorschläge 
Autor: E7
Datum: 06.04.05 20:27

Hi,

erst mal: Danke, dass es wieder eine DLL gibt, die die fehlenden Funktionen bei VB nachrüstet... Hier noch ein paar Dinge, die ich mir wünschen würde:

- Bits von einem Bildfeld in ein Bytearray/String übertragen. Geht zwar auch von VB direkt aus, wäre aber in der DLL bequemer. Nur hdc und erstes Element vom Array übergeben...
- Funktionen zum Rotieren von Pictureboxen, andere Grafikoptionen
- Threads! Wenn ich die Adresse einer Funktion (AddressOf) übergebe, sollte die DLL das Teil einfach als neuen Thread starten
- Fehler abfangen... Eine vernünftige Fehlerbehandlung für VB. Ich denke hier an so was wie das hier
- Direktes Einklinken in Windows, um Nachrichten abzufangen, wie Tastendrücke allgemein, Mausbewegung außerhalb meiner Anwendung, neues Fenster geöffnet etc.
- Winsock-Funktionen, mit denen ich einen langen String bzw. ein großes Bytearray übertragen kann. VB ist in solchen Dingen immer recht langsam (Stringzusammensetzung dauert ewig, und andere Dinge)

E7

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 07.04.05 00:05

Diverse Grafikfunktionen: kommen nicht in die vbarchiv.dll
Das könnte man komplett auskoppeln und mal in eine eigene DLL packen, nebst Filterfunktionen etc.

Threads - sind doch schon drin!?

Fehler abfangen halte ich eigentlich für nicht nötig. Mir ist eine eigene Anwendung noch nie so abgeschmiert und sowas macht man besser gleich aus VB heraus.

"Einlinken in Windows". Dafür müsste man dann aber eine Callback-Prozedur in VB schreiben und dann bringt's das auch wieder nicht.

Winsock-Funktionen: Daten an eine Webseite kann man ja bereits mit der DLL schicken, an einen anderen Computer - dafür baut man doch lieber richtig seine eigenen Verbindungen zusammen mit VB. Aufwand-Nutzen-Rechnung gibt da ein klares Minus.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 07.04.05 21:53

Zitat:

Winsock-Funktionen: Daten an eine Webseite kann man ja bereits mit der DLL schicken, an einen anderen Computer - dafür baut man doch lieber richtig seine eigenen Verbindungen zusammen mit VB. Aufwand-Nutzen-Rechnung gibt da ein klares Minus.


VB ist beim Senden/Empfangen von Daten relativ langsam - vermutlich bei der Stringzusammensetzung.

Vergleich mal ein in VB geschriebenes Programm, welches eine 10 MB-Datei überträgt (in den Arbeitsspeicher), mit der Geschwindigkeit eines Apache-Servers, der ein 10 MB-Bild zu einem Browser transferiert.

Zitat:

Threads - sind doch schon drin!?


MMmhh... Thema Dokumentation, Wiki...

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 08.04.05 00:09

TCP- und UDP-Verbindungen kann die DLL auch herstellen.

Threads kann die DLL auch. Die sind auch dokumentiert. Was bei der Doku noch fehlt sind Kapitelübersichten für die einzelnen Themen, damit der Gesamtzusammenhang der Funktionen klarer wird. Deshalb haben die Funktionen auch schon ein Kürzel wie ff (filefunctions) oder wnd (window functions).


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 08.04.05 17:58

Hi,

ich hab mir, ehrlich gesagt, die DLL noch nicht runtergeladen - es ist eine Beta-Phase, und ich weiß nicht, was die DLL bietet. Hätten wir eine Onlinedokumentation, könnte ich mir das ganze mal anschauen...

E7

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 08.04.05 20:44

Die liegt doch bei der DLL mit dabei


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 09.04.05 12:43

MMmhhh... Also einfach mal Downloaden... Ich guck's mir mal an...

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 11.04.05 23:15

Jepp, downloaden und mal durchschnuppern.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: wa-oberhausen
Datum: 28.05.05 16:46

Ich habe da mal einen Vorschlag. Bin nämlich seit langer Zeit auf der Suche nach einer Sortierroutine für UDT´s.

Beispiel:

Public Type Person
id As Long
name As String * 30
geburtsjahr As Long
End Type
Dim var(2) As Person

Danach werden die Variablen mit ID, Name und Geburtsjahr gefüllt. Jetzt kommt die Aufgabe: Sortieren nach Geburtsjahr. Ist das schon jetzt in der ArchivDLL realisierbar oder als Vorschlag annehmbar?

Viele Grüße
Werner
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 28.05.05 17:57

Öhm, also für jeden UDT müsste man ne eigene routine schreiben, das wäre ein bissl viel.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 29.05.05 11:11

Evtl. dass man die Position angeben kann, ab der sortiert wird, also ab Byte 35 und weitere... Der DLL kann ja dann der Datentyp wurscht sein, und wir könnten dann auch Strings ab der 2. Stelle sortieren etc.

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: wa-oberhausen
Datum: 29.05.05 14:14

Na, da bin ich mir nicht so sicher. UDT´s bestehen ja nicht nur aus Strings. Ein LongInteger beispielsweise hat eine bestimmte Länge, die muss man dann mitübergeben können.

Viele Grüße
Werner
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 29.05.05 14:43

UDT's bestehen aus aneinandergereihten Bits im Speicher, die aneinander gereiht sind. Diese kann man entweder wie UDT's interpretieren, oder auch als Strings, oder als Bytearray - je nach dem, wie man lustig ist... In VB kannst du das mittels CopyMemory nachvollziehen.

Beispiel, zwar nicht direkt, aber das geht so in die Richtung.

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 29.05.05 15:30

So einfach wie ihr euch das vielleicht vorstellt ist es nicht.
Die UDTs können durchaus unterschiedlich lang sein, da ist nicht viel mit sortieren.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: E7
Datum: 29.05.05 20:34

Die UDT-Deklaration oben ist ja eindeutig, da ist der String mit *30 deklariert... Das wäre natürlich eine Einschränkung, dass unterschiedliche Längen nicht funktionieren, ist auch mir klar...

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: QDaniel
Datum: 28.11.06 13:37

Hi gibt es für die tcp und udp Funktionen auch eine Dokumentation? habe leider keine in der DLL dafür gefunden.

dann hätte ich nämlich ne möglichkeit für mein Problem:
http://www.vbarchiv.net/forum/id14_i3178t3178.html

Gruss Daniel

-------------------------------------------
Follow the White Rabbit !!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 28.11.06 14:45

Derzeit existiert noch keine Doku dazu, aber sie sind eigentlich recht einfach zu verwenden. Wenn Du es mit Winsock hinkriegen würdest, kannst Du es mit den Funktionen auch schaffen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: QDaniel
Datum: 28.11.06 15:27

das senden von udp-datagramen habe ich schon hin bekommen (udpopen,udpsend,udpclose)... nur welche parameter udprecieve genau benötigt (wegen callback) bin ich mir net ganz schlüssig

-------------------------------------------
Follow the White Rabbit !!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 29.11.06 16:46

Public Declare Sub tcpNotify Lib "vbarchiv.dll" (ByVal fNum As Long, ByVal uHWND As Long, ByVal uMsgBase As Long)

fNum - klar, Dein Handle
uHWND - das Fenster(handle), welches die Benachrichtigung bekommen soll
uMsgBase - der nachrichtengrundwert.

Du musst also ein Fenster subclassen um die Notifications zu empfangen.
Die msgbase sollte WM_USER + 500 oder höher sein.

Du erhälst dann als Messagecode in deiner Subclassing-Methode:
uMsgBase + Konstante

Da ist möglich FD_READ, FD_WRITE, FD_CLOSE

Private Const FD_READ As Long = (1 * 2 ^ FD_READ_BIT)
Private Const FD_READ_BIT As Long = 0
Private Const FD_CLOSE As Long = (1 * 2 ^ FD_CLOSE_BIT)
Private Const FD_CLOSE_BIT As Long = 5
Private Const FD_WRITE As Long = (1 * 2 ^ FD_WRITE_BIT)
Private Const FD_WRITE_BIT As Long = 1


Public Declare Function udpReceive Lib "vbarchiv.dll" (ByVal fNum As Long, ByVal sIP As String, ByVal nPort As Long) As String

fNum - Handle
IP - die IP von der gesendet wurde

Die bisherige Deklaration ist fehlerhaft hab ich gerade festgestellt. Das muss natürlich String sein und nicht Long. Da könnte noch einiges unstimmig sein, muss ich mal richtung we überprüfen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: QDaniel
Datum: 30.11.06 09:36

wie subclasse ich nen fenster? warum kannste net einfach ne callback adresse übergeben lassen

-------------------------------------------
Follow the White Rabbit !!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: QDaniel
Datum: 30.11.06 11:34

jo scheint noch einiges unstimmig zu sein.

die Fenster-Messages erhalte ich net ... die Window-Messages bekomme ich aber alle.

zu den Parametern der udpRecieve


IP : woher soll ich den wissen wer mir was sendet?
Port: woher soll ich denn den Port wissen von dem gesendet wird.
den Ziel Port gebe ich ja indirekt schon mit dem Handle an.


Dahe würde ich die Declaration bevorzugen:

Public Declare Function udpReceive Lib "vbarchiv.dll" (ByVal fNum As Long, ByRef sIP As String, ByRef nPort As Long) As String


Dann kann mir die Funktion die Quell-IP und Quell-Portnummer mitteilen. (zumindest Quell-IP ist sehr sinnvoll)

-------------------------------------------
Follow the White Rabbit !!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 30.11.06 15:16

>> "die Fenster-Messages erhalte ich net ... die Window-Messages bekomme ich aber alle. "

was ist denn deiner meinung nach der unterschied zwischen fenster und window?

das byval-zeug ist derzeit noch falsch bei udpReceive, da kommt später der Sender.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: ModeratorMartoeng (Moderator)
Datum: 30.11.06 15:21

zu subclassing gibt's viele beiträge und workshops, etc.

weil das von windows so nicht vorgesehen ist. normalerweise haben programme ja eine hauptschleife, in vb ist das (leider) nicht so. für andere sprachen ist das nicht so ein aufwand


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Vorschläge 
Autor: QDaniel
Datum: 30.11.06 16:33

meinte mit window-messages die vom system erzeugten nachrichten für mouse , tastatur und so...

-------------------------------------------
Follow the White Rabbit !!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel