VB.net in combinatie met NNTP via Indy

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

Ik had een vraagje, ik ben bezig met het programmeren van een applicatie,
deze applicatie moet in een bepaalde nieuwsgroep alle posts doorlopen en zoeken
naar bepaalde posts die voldoen aan ingestelde eisen. De verbinding met de nieuwsserver
wil ik maken met Indy for .net.
De verbinding zelf heb ik gemaakt met


Visual Basic .NET:
1
2
3
4
5
6
        UseNetConn.Host = My.Settings.UseNetDownloadServer
        UseNetConn.Username = My.Settings.UseNetDownloadUserId
        UseNetConn.Password = psDecrypt(My.Settings.UseNetDownloadPass)
        UseNetConn.Port = My.Settings.UseNetDownloadPort

        UseNetConn.Connect()



Nu probeer ik vervolgens de verbinding te maken met een bepaalde nieuwsgroep. (slechts een kleine voorbeeldgroep)


Visual Basic .NET:
1
            UseNetConn.SelectGroup("nl.comp.programmeren")

Dit gaat ook goed, alleen als ik nu probeer om een artikel op te vragen met deze code:


Visual Basic .NET:
1
    UseNetConn.GetArticle(4091, "")


krijg ik een foutmelding:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Error   2   
Overload resolution failed because no accessible 'GetArticle' can be called with these arguments:
    
'Public Function GetArticle(AMsgID As String, AMsg As Borland.Vcl.Classes.TStream) As Boolean': Value 
of type 'String' cannot be converted to 'Borland.Vcl.Classes.TStream'.
    'Public Function 
GetArticle(AMsgNo As Integer, AMsg As Borland.Vcl.Classes.TStream) As Boolean': Value of type 'String' 
cannot be converted to 'Borland.Vcl.Classes.TStream'.
    'Public Function GetArticle(AMsgID As String, 
AMsg As Borland.Vcl.Classes.TStrings) As Boolean': Value of type 'String' cannot be converted to 'Borland.Vcl.Classes.TStrings'
.
    'Public Function GetArticle(AMsgNo As Integer, AMsg As Borland.Vcl.Classes.TStrings) As Boolean': 
Value of type 'String' cannot be converted to 'Borland.Vcl.Classes.TStrings'.
    
'Public Function GetArticle(AMsgID As String, AMsg As Indy.Sockets.IndyMessage.Message) As Boolean': 
Value of type 'String' cannot be converted to 'Indy.Sockets.IndyMessage.Message'.
    
'Public Function GetArticle(AMsgNo As Integer, AMsg As Indy.Sockets.IndyMessage.Message) As Boolean
': Value of type 'String' cannot be converted to 'Indy.Sockets.IndyMessage.Message'.    
D:\Binaries Threats Guider\BinariesThreatsGuider\BinariesThreatsGuider\Modules\NNTPfuctions.vb  
44  13  BinariesThreatsGuider


Dit heeft vermoedelijk te maken met de "" die in de code naar voren komen maar ik heb geen idee wat ik hier in moet vullen, internet
is ook niet echt behulpzaam geweest want ben wel een "manual" voor Indy10 tegengekomen maar helaas is deze niet voor .net

Heeft er iemand hier ervaring met NNTP via Indy voor VB.net?

Ik hoop dat jullie mij kunnen helpen met het oplossen van dit probleem.

Acties:
  • 0 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 18:47

remco_k

een cassettebandje was genoeg

Verwijderd schreef op woensdag 30 maart 2011 @ 16:11:
Visual Basic .NET:
1
    UseNetConn.GetArticle(4091, "")
Volgens de indy 10 help file die ik hier heb, zijn er een aantal GetArticle methods met verschillende parameters. Geen enkele heeft een string als 2e parameter. Ik gok dan ook (ik ken VB.net niet al te best) dat daar de foutmelding van komt.

C++:
1
2
3
4
function GetArticle(AMsgNo: Integer; AMsg: TIdMessage): Boolean; overload;
function GetArticle(AMsgNo: Integer; AMsg: TIdStream): Boolean; overload;
function GetArticle(AMsgNo: Integer; AMsg: TIdStrings): Boolean; overload;
...

En zo zijn er nog een heel aantal.
Het is gewoon een kwestie van aanroepen met de juiste parameters denk ik. :)

Edit:
Je kan b.v. de eerste gebruiken (die met TIdMessage). De TIdMessage die je dan meegeeft is dan meteen het doel waar het bericht in terecht komt. Vanaf daar kan je verder met de TIdMessage.
Niet vergeten om de return waarde te checken van GetArticle.

[ Voor 13% gewijzigd door remco_k op 30-03-2011 16:37 ]

Alles kan stuk.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
remco_k schreef op woensdag 30 maart 2011 @ 16:32:
Volgens de indy 10 help file die ik hier heb, zijn er een aantal GetArticle methods met verschillende parameters. Geen enkele heeft een string als 2e parameter.
Wat ook bevestigd wordt door:
Overload resolution failed because no accessible 'GetArticle' can be called with these arguments:
Kwestie van de foutmelding lezen dus.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik had inderdaad begrepen dat de foutmelding daarvandaan komt maar wat is dan de waarde TldMessage die ik mee moet geven?
Hoe kan ik checken welke waarde wordt teruggegeven?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 30 maart 2011 @ 16:45:
ik had inderdaad begrepen dat de foutmelding daarvandaan komt maar wat is dan de waarde TldMessage die ik mee moet geven?
Begin nou eens met de handleiding gewoon te lezen...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 18:47

remco_k

een cassettebandje was genoeg

Waarde checken van een functie: beginners werk. Kijk naar het if () statement. Kwestie van (zelf)leren en manuals lezen.
De TIdMessage parameter van die functie verwacht een pointer naar een bestaand TIdMessage object die je met "new" aan moet maken voor de aanroep naar GetArticle.

Als je googled naar: [indy nntp GetArticle example] vind je zat voorbeelden die je op het goede pad zouden moeten krijgen.

Alles kan stuk.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thnx ik ga er weer mee aan de slag..
Pagina: 1