Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   C# 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux (https://www.delphipraxis.net/64957-0-fehler-unter-msvc-2-fehler-unter-mono-%40linux.html)

Pseudemys Nelsoni 10. Mär 2006 12:43


0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Moin,

folgendes lässt sich unter windows(msvc#) problemlos kompilieren:

Code:
using System;
//using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
 
namespace iSM
{
    class Program
    {
        struct EventUser
        {
            internal string Nickname;
            internal string Username;
            internal string Hostname;
        }
 
        static void Main(string[] args)
        {
            TcpClient tcpClient = new TcpClient();
            string sMainBuf = "";
 
            tcpClient.Connect("irc.ham.de.euirc.net", 6667);
 
            SendText(ref tcpClient, "USER 1 2 3 :4");
            SendText(ref tcpClient, "NICK asdffdsa");
 
            while(tcpClient.Connected)
            {
                byte[] baBuffer = new byte[512];
                string sRawCmd, sPrefix, sCmd, sParams;
                EventUser User;
 
                tcpClient.Client.Receive(baBuffer);
 
                sMainBuf = sMainBuf + System.Text.ASCIIEncoding.Default.GetString(baBuffer);
 
                sMainBuf.Replace("\r", "\n");
                sMainBuf.Replace("\n\n", "\n");
 
                while(sMainBuf.IndexOf('\n') > -1)
                {
                    sRawCmd = sMainBuf.Substring(0, sMainBuf.IndexOf('\n')-1);
                    sMainBuf.Remove(0, sMainBuf.IndexOf('\n'));
 
                    Console.WriteLine(sRawCmd);
 
                    if(sRawCmd.Length > 0)
                    {
 
                        if(sRawCmd[0] == ':')

                        {
                            sPrefix = sRawCmd.Substring(0, sRawCmd.IndexOf(' ')-1);
                            sRawCmd.Remove(0, sRawCmd.IndexOf(' '));
 
                            int iHostPrePos = sPrefix.IndexOf('@');
 
                            if(iHostPrePos > -1)
                            {
                                User.Hostname = sPrefix.Substring(iHostPrePos, sPrefix.Length - iHostPrePos);
                                sPrefix.Remove(iHostPrePos, sPrefix.Length - iHostPrePos);
                            }
 
                            int iUserPrePos = sPrefix.IndexOf('!');
 
                            if(iUserPrePos > -1)
                            {
                                User.Username = sPrefix.Substring(iUserPrePos, sPrefix.Length - iUserPrePos);
                                sPrefix.Remove(iUserPrePos, sPrefix.Length - iUserPrePos);
                            }
 
                            User.Nickname = sPrefix;
 
 
                        }
                    }
                }
            }
        }
 
        static void SendText(ref TcpClient tcpClient, string Text)
        {
            if (tcpClient != null)
                tcpClient.Client.Send(System.Text.ASCIIEncoding.Default.GetBytes(Text+"\r\n"));
        }
 
    }
}

In Linux unter Mono bekomme ich folgendes Fehler:

Zitat:

silent@h76828:~> mcs ism.cs
ism.cs(27) error CS0117: `System.Net.Sockets.TcpClient' does not contain a definition for `Connected'
ism.cs(83) error CS0122: 'Client.get' is inaccessible due to its protection level
Compilation failed: 2 error(s), 0 warnings
Ist doch zum kotzen , dass es eeeeeewig Probleme gibt... wo sind sie hier wieder?

Bernhard Geyer 10. Mär 2006 12:51

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Was hat das mit Delphi zu tun? :gruebel:

Und hast du bei Mono geguckt ob die diesen Teil schon implementiert haben bzw. wie dort die definition ist.

Pseudemys Nelsoni 10. Mär 2006 13:00

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Hallo,

es hat nichts mit Delphi zu tun, aber C#(wie angegeben). Ob ich nun die Delphi IDE genutzt hab, sollte doch egal sein oder? *g*.

Zitat:

Und hast du bei Mono geguckt ob die diesen Teil schon implementiert haben bzw. wie dort die definition ist.
Nope, habe ich nicht. Wenn ich von "Plattformunabhängigkeit" höre, dann gehe ich davon aus, das es das auch ist. Aber scheint mal wieder nicht so zu sein wenn dort die hälfte fehlt.

Luckie 10. Mär 2006 13:03

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Wer hat behauptet, dass Mono schon das komplette Framework unterstützt. Und mit Plattformunabhängigkeit bezieht sich Microsoft auf seine Windows Versionen auf denen das Framework läuft. Von Linux war nie die Rede.

Bernhard Geyer 10. Mär 2006 13:07

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Zitat:

Zitat von Pseudemys Nelsoni
Hallo,

es hat nichts mit Delphi zu tun, aber C#(wie angegeben). Ob ich nun die Delphi IDE genutzt hab, sollte doch egal sein oder? *g*.

M.E. wäre aber der Ordner "Windows API / MS.NET Framework API" besser gewesen.

Zitat:

Zitat von Luckie
Und mit Plattformunabhängigkeit bezieht sich Microsoft auf seine Windows Versionen auf denen das Framework läuft. Von Linux war nie die Rede.

Und M$ wird alles daran setzen das dies immer mit Problemen behaftet ist. Wenns irgendwann gehen sollt wird die Patent-Keule ausgeholt da ja nur Teile von .NET standardisiert wurden. Aber das alles ist ein anderes Thema ...

Khabarakh 10. Mär 2006 14:25

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Mal eine Frage: Warum hast du diesen Thread zusätzlich geöffnet? Erwartest du dort etwa andere Antworten als hier?

PS: Den Übersetzungsstatus von Mono kannst du hier einsehen.

Pseudemys Nelsoni 10. Mär 2006 16:56

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Zitat:

Mal eine Frage: Warum hast du diesen Thread zusätzlich geöffnet? Erwartest du dort etwa andere Antworten als hier?
Ja, denn wie Du siehst, hab ich da die perfekte Antwort bekommen.

Danke für den Link, ich schau mal rein.

Und danke an die anderen, für die Hilfe.

MfG

Khabarakh 10. Mär 2006 17:53

Re: 0 Fehler unter MSVC#, 2 Fehler unter Mono @Linux
 
Ich denke mal, die Property kommt noch hinzu, wenn die restlichen TcpClient-Member (Connect, BeginConnect gehört ja irgendwie dazu) fertig übersetzt sind, also war Bernhard Geyers Antwort auch richtig. Und die zweite Frage hast du hier ja gar nicht gestellt ;) .


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz