Laden...
K
Kaji myCSharp.de - Member
Fachinformatiker Anwendungsentwicklung Clausthal-Zellerfeld Dabei seit 10.12.2007 593 Beiträge
Benutzerbeschreibung

Forenbeiträge von Kaji Ingesamt 593 Beiträge

14.04.2009 - 13:29 Uhr

Hallo,

das geht normalerweise also muss es an deinem Programm liegen. Entweder benutzt du ungünstig ein Mutex ( Dann solltest du aber wissen was passiert ) oder du greifst auf eine Resource zu auf die das erst gestartete Programm schon zugreift.

Gruß Kaji

14.04.2009 - 13:28 Uhr

Hallo,

ich hab jetzt nicht extra nachgeschaut, aber nach dem Namen zu folgen wird es eine Sperre wie Lock oder Monitor.Wait sein. Das Problem ist wenn 2 Threads auf das selbe Objekt zugreifen wollen gibt es bruch. Die Console in diesem Fall wird von 2 Threads benutzt, daher muss man absichern das es keinen bruch gibt.

Gruß Kaji

14.04.2009 - 12:11 Uhr

Hallo,

ich würde gerne einen Threadpool verwenden weil ich verschieden viele Threads habe wo immer mal welche zu Ende sind und neue Threads gebraucht werden. Jetzt muss ich diesen Threads aber mehrere Werte übergeben. Wie kann ich das bewerkstellen? Ich hab es mit etwas wie :


                    ThreadPool.QueueUserWorkItem(new WaitCallback(Play), new Object [] {ID, client1, client2});

und dann die Funktion :


        private static void Play(int GameID, TcpClient client1, TcpClient client2)
        {

        }

Was er aber leider nicht schluckt. Wie kann ich bei einem Threadpool mehrere Sachen übrgeben?

Gruß Kaji

13.04.2009 - 14:19 Uhr

Hallo,

na dann nimm doch einfach das Webbrowser-Control stell ein das er javascript und Cookies ignorieren soll und zack rendert er nur den HTML code. Sachen wie PHP und ASP und sowas sind ja sowieso Serverseitig. Mehr oder weniger kriegst du ja nicht.

Gruß Kaji

11.04.2009 - 19:08 Uhr

Hallo Golo Roden,

das ganze nennt sich dann ClamWin. Ich hoffe das ist das was du gesucht hast ! 😃

Gruß Kaji

11.04.2009 - 12:27 Uhr

Hallo,

ja es stimmt das das ganze viel zu sehr ins detail ging und hin und her. Naja jetzt ist Ostern da werde ich nicht soviel Zeit haben aber danach werde ich mal meine Idee umsetzen weil es mir im Stil wie AntMe sehr gefällt mit getrennten Rechner und einen Testserver im Netz wo man sich messen kann. Es wird dann erstmal auf den Testserver hinauslaufen und einem kleinen Testprogramm, nen TicTacToe sollte für den Anfang gut sein zu testzwecken da es hier im Forum schon einige KI´s gibt um sie zu benutzen sodass der Schwerpunkt erstmal auf den Server liegen kann. Ich versuche bis nächstes Wochenende mal eine erste Version zu veröffentlich!

Wer Idee oder Interresse hat mit zu machen kann mir ja gerne ne PM schreiben oder nen Extra Thread aufmachen weil es eigentlich nicht hierrein gehört.. Der Author hatte ja doch etwas anderes im Sinn.. 😃

Gruß Kaji

10.04.2009 - 23:00 Uhr

Kannst du mir mal erklären was du gegen 2 getrennte Rechner hast wie alle diese Computerduelle ausgeführt werden? Wenn du es einem machst hast du immer das Problem das du alles kontrollieren musst und wenn du etwas übersiehst und deswegen der andere verloren hat ist auch fürn arsch.. weil das andere programm kann ein anderes auch gezielt beeinflußen. Du hast immer ein Problem, das einzigste was möglich ist bei einem Rechner 2 VM´s mit den selben bedingungen zu starten. Aber das schönste sind 2 Rechner, du musst nicht alles kontrollieren das alles richtig läuft und das das eine Programm nicht das andere "kaputt" macht. Sonst werden die austragungen immer angefecht.

Gruß Kaji

10.04.2009 - 22:49 Uhr

Warum den dass? Ist ja auch blöd, gerade diese leerlaufzeiten kann man ja optimal nutzen und auch menschen in dieser Zeit. Das ist ein extremer Aufwand das auch zu überwachen und zu kontrollieren. Es machen nicht ohne grund Leute wie bei AntMe das mit identischen Clients, dass ist die einfachste und absolut sauberste möglichkeit. Es soll ja wie bei Menschen sein. Nur das wir hier den unterschied im IQ wegmachen können und das auf das selbe Niveau machen können. ( durch selbe Rechenleistung ) 2 Clients mit selber Hardware und dem selben im Image und eine Server der als "Richter" fungiert.

Gruß Kaji

10.04.2009 - 22:30 Uhr

Hallo,

Dann klaut das eine Programm die Resourcen des anderen Programms weil die ja die ganze Zeit rechnen, nacheinander ausführen geht ja nicht. Daher ist die sauberer Trennung mit der selben Hardware und der selben Software das beste, so haben beide die selben vorraussetzungen.

Gruß Kaji

10.04.2009 - 22:29 Uhr

Hallo markus111,

was meinst du damit? Das es nur HTML kann und Javascript ignorieren soll? Das kannst du im Control bzw im InternetExplorer einstellen. Ansonsten verarbeitet ein Webbrowser Control nur HTML. Vielleicht beschreibst du genauer was du haben möchtest? Achja und Sessions aber das kann man auch einstellen.

Gruß Kaji

10.04.2009 - 22:25 Uhr

Hallo pdevlo,

es geht dabei nicht um Server sondern Clients. Der Server hat bei soetwas nicht viel zu tun außer zu Prüfen ob es ein gültiger Zug ist und wie die Situation ist. ( Bei Schach Matt oder ähnliches). Die Clients sind das entscheidende. Bei einem Schachprogramm sind die ergebnisse wie bereits gesagt besser wenn man länger rechnet. Darum identische Client Hardware und installationen.

Gruß Kaji

10.04.2009 - 22:20 Uhr

Hallo,

das ist nen Virenscanner? Was meinst du mit "unter .NET laufen"? Soll der in .Net geschrieben sein oder ne API haben oder was machst du?

Gruß Kaji

10.04.2009 - 22:19 Uhr

Hallo pdelvo,

um das natürlich richtig zu machen sind "normale user pc" nicht geeignet.. man brauch 2 identische rechner sprich hardware und betriebssysteme identisch.. Aber wie gesagt wäre das kein Problem für mich sowas am Wochenende bei meiner Firma zu machen da haben wir das alles. Weil wegen der rechnenleistung könnte der eine oder andere mit seinem Client bevorteilt werden, ich würde das wenn dann schon richtig machen wie die das auch bei AntMe gemacht haben.

Gruß Kaji

10.04.2009 - 21:45 Uhr

Hallo Scarecraft,

die richtung klingt recht interressant aber es wäre ja kein direkt mycsharp Projekt sondern etwas was aus dem dem mycsharp forum entstanden ist.. es muss ja jeder selber wissen wo er mitmachen mag .. 😃 Aber die Idee ist echt cool ich denke es mal ein wenig weiter wie es Sinn macht.

Man baut eine flexible Serverstruktur wo man verschiedene Spiele Spielen lassen könnte. Da stellt man einen Server ins Netz an dem wir z.b. testen ob die alles läuft und die Programmierer dafür testen können. Und dann müssen die Programme eingeschickt werden und werden vom Projekt Team die Clients auf identischer Computer-Hardware und Betriebssystem-Versionen laufen. Das es z.b. Jede Woche oder jeden Monat je nach Nachfrage Liga-Spiele machen kann. Und der Server im Netz für Testspiele und Testzenarien dasteht. Ich z.b. hätte keine Probleme 2 Identische Computer mit der selbern BetriebssystemVersion bereitzustellen um z.b. am Wochenende zu testen. (Arbeite in einem EDV-Systemhaus). So wäre es eine wirklich gute Basis. Ich hätte interresse die Serverstruktur mit zu bauen und das ganze anzugehen. Hätte auch nen V-Server um für den Anfang den Testserver zu stellen. Weiteres interresse oder Vorschläge?

Gruß Kaji

07.04.2009 - 17:34 Uhr

Hallo Kehrum,

kannst du bitte mal näher erläutern was du willst ? Welche Technologie verwendest du den überhaupt? ( ASP, JS, PHP...) Machst du einen Client oder einen Server?

Gruß Kaji

07.04.2009 - 10:56 Uhr

Ah danke! Das macht mir einiges klarer ! 😃

07.04.2009 - 10:32 Uhr

Also Starte ich den Thread worin die Klasse ausgeführt wird und abbonniere anschließend von der gethreadeden klasse die Events im GUI Thread und wenn ein Event ankommt im GUI Thread rufe ich den Dispatcher auf um auf die GUI Thread Controls zuzugreifen?

07.04.2009 - 10:20 Uhr

Hallo,

bei meinen überlegungen bin ich über eine kleine Problematik gestoßen die mich grübeln lässt und zwar folendes:

Für mein Programm schreibe ich eine Klasse die die komplette Netzwerkkommunikation regelt. Diese soll in einem speraten Thread laufen. Diese Klasse soll jetzt aber Events dem GUI-Thread zur verfügung stellen. ( Ich benutze WPF also muss in irgendeinerweise der Dispatcher benutzt werden). Aber ich kann ja nicht einfach ein normales Event benutzen oder ? Den der Eventhandler ist ja auch immer in dem Thread aus dem er gefeuert wurde also würde er im GUI Thread gar nicht ankommen oder?

Gruß Kaji

06.04.2009 - 16:15 Uhr

Codeplex und SourceForge sind beide komplett in Englisch gehalten. Ich habe prinzipiel kein Problem mit Englisch aber würde am Anfang das ganze komplett Deutsch halten, wie sieht da die Problematik aus? Die wollen ja alle Beschreibungen haben da ist das in Englisch vielleicht bisschen blöd gelaufen?

06.04.2009 - 15:44 Uhr

Hallo Community,

ich bin soweit das ich mein erstes richtiges eigenes privates Projekt angehen will, was auch für andere zur Verfügung stehen soll. Ich hab eine Idee und auch eine Vorstellung wie ich es Programmieren will. Nun stehe ich aber vor dem Problem wie ich das ganze drum herum. Programmiert man seine eigene Webseite? Bugtracker? Nimmt man Codeplex Sourceforge? Was bringt es wirklich in der Praxis und ist vorläufig alleine bewerkstellbar? Sollte man sich einen eigene SVN aufsetzen oder ähnliches? Oder die von anderen Benutzen? Viele Fragen die wahrscheinlich recht einfach zu beantworten sind, nur fehlt mir gerade der Überblick um mit dem drumherum anzufangen. Mich würde es freuen wenn ich paar Kommentare kriegen könnte, von Leuten die soetwas schon bewerkstelligt haben und Wissen was für Probleme und stolpersteine aufkommen können und mir vielleicht einen Rat mit auf dem Weg geben können.

Gruß Kaji

06.04.2009 - 15:38 Uhr

öhh, hilft das den wirklich? Ich meine die Berechnung kann natürlich Aufwendig sein und dauern, aber da er es anscheinend nicht auslagert kommt spätestens irgendwann ein "Anwendung reagiert nicht" oder ähnliches oder nicht?

06.04.2009 - 15:33 Uhr

Hallo,

du musst die Berechnung in einen Thread auslagern. Bei dieser Problematik reicht wahrscheinlich ein einfacher Backgroundworker, der Grund ist das du die GUI mit deiner Berechnung blockierst und erst wieder Zeichnen kann wenn die Berechnung beendet ist.

Gruß Kaji

31.03.2009 - 17:53 Uhr

Hallo, weil du bei deinem WebClient nicht das Event verknüpfst mit +=.

Gruß Kaji

27.03.2009 - 12:12 Uhr

Hallo,

ich musste gerade mal auf Wikipedia nachlesen was überhaupt PL/1 ist.. 😃 Naja Worum geht es konkret? Also ich denke es wird kein Konverter geben der dir die Applikation 1 zu 1 umwandeln wird. Du kannst wahrscheinlich das Programm in C# komplett neu schreiben, was du wahrscheinlich nicht willst. Kannst du das Programm als DLL bereitstellen? Dann könntest du wahrscheinlich über DLLImport drauf zugreifen, aber die Frage ist was du alles brauchst aus dem Programm. Als letztes fällt mir dann noch nur Pipes bzw Named Pipes und ähnliches ein.

Gruß Kaji

EDIT: Oh es scheint doch einen Konverter zu geben..^^ Ich nehm alles zurück und behaupte das Gegenteil.. ^^ Naja ich lass den rest aber mal stehen.

27.03.2009 - 11:57 Uhr

Ja prinzipiel möglich, aber dadurch habe ich durch jeden User der den Silverlight Client nutzt eine Verbindung von meinem Server zum IRC-Server. In vielen Netzwerken ist es so das Pro IP nur 4 User kommen dürfen. Man müsste sich sonst sonderrechte von vielen Netzen holen so wie es die BNC provider machen müssen. Zusätzlich der Traffic der für mich aufkommt. Zudem sollte das auch für andere für ihre Seite sein und da sollte man das auch möglichst komfortable machen. Das ist es so aber nicht und eigentlich für die katze.. ^^

Gruß Kaji

27.03.2009 - 11:30 Uhr

Hallo,

hmm ja sehr schade, ich meine die Einschränkungen machen ja schon Sinn, nur leider kann das damit wohl abhacken.. 😦 Naja

27.03.2009 - 11:24 Uhr

Hallo,

naja ich kann ja kaum zu den ganzen IRC Netzwerken wie Quakenet etc ankommen und sagen setzt mal nen policy server auf damit mein Client funktioniert...^^

Gruß Kaji

27.03.2009 - 11:07 Uhr

Hallo,

ja die Daten kenne ich ja auch ^^ Ich wollte ja nur Fragen was ich da machen kann? Ich will ja auf Port 6667(IRC) und ohne das auf dem Remote Server eine Policy liegen muss. Es soll halt ganz normaler IRC Client nur auf grundlage von Silverlight. Deswegen Frage ich nach möglichkeiten.. 😃 Oder ob sich da was mit Silverlight 3 ändert?

Gruß Kaji

27.03.2009 - 10:32 Uhr

Hallo,

ich wollte mich ein bisschen tiefer in Silverlight anbauen und dachte mir das ich einen IRC Client in Silverlight schreibe zum lernen. Nun gut, habe ja gelesen es gibt in Silverlight Sockets. Dann kann es ja prinzipiel nicht so schwer sein.. Naja dann habe ich gelesen das es aber nur von port 45xx zu port 45xx geht... und das man auf Port 943 der aufzusuchenden Servers auch noch eine Policy datei liegen muss. Hmm aber ein normaler IRC server ist natürlich nicht so aufgebaut. Ich brauch nur ne Connection auf 6667. Ist das mit Silverlight nicht möglich? Geht das mit Silverlight 3? Bei den Features hatte ich es nicht gesehen.

Gruß Kaji

27.03.2009 - 09:08 Uhr

Hallo,

die Gründe warum man das bei Allgemeinen Applikationen so macht ist ja hier ausreichend erläutert wurden. Jetzt aber mal zu deinem konkreten Beispiel warum viele Spiele nicht Multi Threaded ausgelegt sind oder es erst jetzt Trend wird. Das größte Problem ist hier das die größte rechnerei prinzipiel die Grafikkarte macht. Deswegen läuft die hauptarbeit auf der Grafikkarte, wo es nicht üblich ist mehrer Grafikkarten in seinem System zu haben. Und deswegen auch die Grafikkartenhersteller bei Corssfire/SLI das zusammenlegen übernehmen. Sprich ein Spiel ist für eine Grafikakrte optimiert, aber durch den Crossfire/SLI Treiber wird die Last auf die mehreren Grafikkarten verteilt. Daher sind hier schonmal keine Threads. Aber Spiele brauchen doch CPU? Ja weil die Grafikkarte nicht immer alles übernehmen kann. Am meisten Rechnet die CPU bei Spielen an der Physik. Es gibt jetzt mittlerweile PhysX von Nvidia wo das auch Grafikakrten technisch geregelt wird aber auch dort kommt die CPU auch noch im Einsatz. Aber viele Spiele rechnen die Physik großteils halt auf der CPU. Da die Physik in den Spielen immer besser wird brauch man auch mehr leistung wo man sich überlegen könnte es vielleicht Threaded zu machen. Bei Netzwerkspielen wird durch die Onboard Netzwerkkarten meist die CPU belastet die packete schön zu machen. Kann man auch in einen Thrad machen wenn man mag. Naja das sind halt so die Gründe warum es nicht so häufig ist das Spiele multi threaded sind, weil vorallem es häufig nicht soviel bringt. (Ausnahmen bestätigen die Regel)

Gruß Kaji

26.03.2009 - 11:39 Uhr

Hallo,

naja wenn das Webbrowser Control die Seite nicht findet muss etwas krum sein was prinzipiell nix mit der Authenthifizierung zu tun hat. Da müsstest du erstmal gucken. Soweit ich weiß hat das Webbrowser Control die Engine vom Internet Explorer, daher kann es da gar nicht soviel anders laufen..^^

Gruß Kaji

26.03.2009 - 10:58 Uhr

ich spiele seit der WoW Beta^^ Aber mal mehr mal weniger.. Mal paar monate pause dann mal mehr. Aber Freunde Arbeit und Freundin gehen definitiv vor. Ich habe :

80 Kaji Hexenmeister T7 Kult der Verdammtnis
70Hunter
68Priester
44 Schami
49 Hunter
etc...

Mir machts einfach spass weil ich in einer kleinen Gilde bin wo man sich kennt.. 😃 Deswegen raiden wir auch nur 10er weil wir für 25er keine Leute haben. Aber sind ganz gut.. 😃 Naxx und Malygos sind am Sonntag immer innerhalb von 2 1/2 stunden down ... 😃

26.03.2009 - 09:10 Uhr

Hallo,

da das WebBrowser Control auf dem IE basiert sollte es sich genau wie der IE Verhalten wenn du auf die Seite gehst. Es klingt jetzt so das du dem Webbrowser controll die Authentifizierung mit geben willst? Geschieht das ganze in einer Domain? Generell halte ich es nicht so gut eine Windows Authentifizierung für das Intranet einem Webbrowser Controll mitzugeben. Vielleicht könntest du ja ein wenig mehr erzählen warum du das ganze so machen willst?

Gruß Kaji

22.03.2009 - 23:25 Uhr

Also von dieser Webseite lese ich relativ genau raus das man wenn man seine software nicht in der GPL oder ähnlichen hat und Mysql benutzt dann muss man eine kommerzielle Lizenz kaufen. Und da sind keine einschränkungen ob man an mysql etwas verändert oder einfach benutzt. Es hat mit der GPL nix direkt zu tun das stimmt. Aber sachen wie :

Q5: What open source licensing options does Sun offer for its MySQL software?
A: Sun makes its MySQL database server and MySQL Client Libraries available under the GPL for use with other GPL-licensed software and FOSS applications licensed under GPL-compatible FOSS licenses.

bedeuten für mich eigentlich das jegliche benutzung im kommerziellen Sinne man eine Lizenz brauch. Aber vielleicht kann das jemand der wirklich tiefgreifendes Wissen hat das etwas genauer aufklären?

Gruß Kaji

22.03.2009 - 19:20 Uhr

Naja würde ich nicht so direkt sagen. Du vergisst das es hier eine Applikation verkauft. Es ist was anderes wenn du deine Webseite mit einer MySql datenbank erstellst worauf du Produkte anbietest oder so. Aber wenn du eine Applikation mit unterstützung von MySQL verkaufst dann musst du die kommerzielle Variante nutzen. Und ein Auszug von der MySql webseite:

For Open Source Projects and Other Developers of Open Source Applications:

For developers of Free Open Source Software ("FOSS") applications under the GPL that want to combine and distribute those FOSS applications with MySQL software, Sun's MySQL open source software licensed under the GPL is the best option.

For developers and distributors of open source software under a FOSS license other than the GPL, Sun makes its GPL-licensed MySQL Client Libraries available under a FOSS Exception that enables use of the those MySQL Client Libraries under certain conditions without causing the entire derivative work to be subject to the GPL.

Na gut es lässt eine lücke zu aber im Prinzip..^^

Gruß Kaji

20.03.2009 - 13:52 Uhr

Hallo,

es ist wohl nicht die Antwort die du gerne hättest aber sobald du mit MySQL arbeitest ist dein Projekt unter der GPL oder einer GPL akzeptierten Lizenz. Es geht da eher darum das MySQL unter der GPL steht und daher nur in benutzung von der gleichen oder GPL genehmen Lizenzen funktioniert. Außer man hat eine Kommerzielle Version, die du aber kaum haben wirst oder?

Gruß Kaji

20.03.2009 - 13:49 Uhr

Hallo,

das wohl einfachste ist wohl ein Control in der größe an der Stelle zu positionieren wo du das Event haben möchtest. Und von diesem Control dann das Event MouseMove benutzt. Aber was willst du damit eigentlich erreichen? Oder was soll der Sinn dahinter sein? Vielleicht gibt es ja einen ganz anderen Weg.

Gruß Kaji

20.03.2009 - 13:46 Uhr

Hallo,

die Antwort ist doch ganz einfach. Such nach deiner WLAN Karte nach einen Treiber für Windows der den Monitor Mode unterstützt. Wenn du keinen findest guck ob es eine Allgemeine Lösung dafür gibt. Wenn es etwas gibt musst du schaun ob und wie der Treiber ansprechbar ist. Das ist von Treiber zu Treiber natürlich unterschiedlich.

Gruß Kaji-

20.03.2009 - 12:13 Uhr

Gerade ist das Whitepaper zu ASP.NET 4.0 rausgekommen!^^ Ihr findest es hier .

20.03.2009 - 10:27 Uhr

Hallo herbivore,

ja hab ich verstanden und ist auch nachvollziehbar. War wohl ein etwas nicht ganz zu ende gedachter schnellschuss. Danke ! 😃

Gruß Kaji

20.03.2009 - 10:18 Uhr

Hallo,

aus diesem Beitrag bin ich jetzt bei NamedPipes gelandet und denke das es der richtige Weg ist. Prinzipiel Connecten die beiden Varianten auch. ( Wenn ich ein komplett Funktionierendes Beispiel habe werde ich mal ein Beitrag dazu schreiben.) Aber jetzt geht es um den Datenversand. Bis jetzt kommt nur murks an. Klar die Datentypen passen nicht ganz. Auf der Delphi-Seite wird auch ein extra type angelegt für das versenden. Ist ja auch prinzipiel gut ich muss ihn nur in C# nachbilden. Und da ist ein wenig mein Problem. Der type sieht so aus:


type
  RPIPEMessage = record
    Size: DWORD;
    Kind: Byte;
    Count: DWORD;
    Data: array[0..8095] of Char;
  end;

Ist das in C# eine Klasse ? Oder wie bilde ich soetwas nach?

Gruß Kaji

20.03.2009 - 09:17 Uhr

Hallo,

du kannst das ganze am Ende wieder in einen Int umwandel. Aber zum rechnen musst du double oder float nehmen. Den die Formal sieht Kommarechnen und Dividieren vor. Entweder rundest du auf ab oder schneidest es ab. Aber das ist Prinzip in der formal auch vorgesehen sein.

Gruß Kaji

20.03.2009 - 09:12 Uhr

Hallo herbivore,

also ich habs mir mal durchgelesen und dabei bemerkt das ich den auch damals schon mit verfolgt hatte. Kannst du bitte erläutern was für kapazitäre Probleme kommen? Ich meine es ist ein Flag. Im Prinzip ein Bool. Es ist bei der datenbank Abfrage wohl auch ein zusätzlicher Join aber ist es wirklich die Maße? Die problem in deinem Thread ist das es Subjektiv von statten geht. Ich suche ja eher die Objektive Lösung weil ein Problem ist gelöst oder nicht. Und wenn es nur ein Workarount ist ist es erstmal etwas was funktioniert.

Hallo juetho,

dein Link funktioniert wohl nicht richtigoO

Gruß Kaji

20.03.2009 - 08:58 Uhr

Hallo,

warum willst du den unbedingt nen int nehmen? Du dividierst und daher brauchst du sowieso ein Datentyp der kommastellen kann. Also ein Float oder einen Double.

Gruß Kaji

20.03.2009 - 08:48 Uhr

Hallo,

mir ist eine kleine Idee eingefallen als ich letztens ein Paar suchen gemacht habe. Wie wäre es wenn man Threads die gelöst sind, und auch die "wahrscheinlich" einzige Lösung ist im Forum als "gelöst" makieren kann. Wenn man dann in der Forumsuche sucht könnte man nen Kästchen machen "nur gelöste Threads anzeigen" und so einen eingeschränkteren Threadteil durchsuche. Ich denke so könnten viele Leute ihr Problem schneller Lösen durch die Forenssuche. Natürlich wird man jetzt nicht anfangen alle Thread rekursiv durchzuschauen und nachträglich zu bearbeiten. Aber vielleicht könnte man auf blick in die Zukunft und durch das stetige Wachsen der Community es in betracht ziehen soetwas anzufangen. Wichtig ist natürlich das man Beiträge wo jemand nochmal etwas ähnliches fragt und wo auf einen anderen Thread verweist dann nicht als "gelöst" markiert.
Was haltet ihr von der Idee?

Gruß Kaji

17.03.2009 - 18:01 Uhr

Hallo kleines_eichhoernchen,

mir ist durchaus bewusst das ich sie wunderbar mit .Net deklarieren kann.^^ Aber Delphi hat seine probleme sie zu benutzen. Das kommt nicht wirklich mit Com Events klar und das programm EventSkimImp oder so das nen Wrapper drumbaut extra für Com Events macht auch haufenweise Fehler.

17.03.2009 - 16:17 Uhr

Hallo Leute,

wie ihr in einem Beitrag schonmal gesehen habt hab ich ein Problem zwischen der Kommunikation von Delphi und C#. Der erste Ansatz war eine COM Bibliothek in C# zu machen für Delphi. Gut Events funktionieren nicht gestorben. Dann war die Idee das es eine Zwischen DLL in Delphi gibt die ich mittels DLLImport Aufrufe. Das geht prinzipiel nur das ich von der Delphi DLL nicht auf die C# Assembly zugreifen kann weil es gerade keine COM Libary ist. Ganz Allgemein ist meine Projektstellung das ein vorhandenes Delphi programm mit unserem Programm in C# kommunizieren muss. Unser Programm ist speziell für das Programm geschrieben und erweitert es. Es ist nicht eigenständig. Wie gehe ich es am besten an, dass das Delphi Programm mit unserem kommunizieren kann und umgekehrt und auch Events benutzt werden können. Ich hoffe es gibt den richtigen Denkanstoß.

Gruß Daniel

16.03.2009 - 12:29 Uhr

Hallo vstm,

danke der stdcall war es ! ^^ das mit dem fastcall und stdcall wusste ich nicht.

vnvjan: es macht kein unterschied ob ich result oder den functionsnamen schreibe ..^^

Gruß Kaji

16.03.2009 - 12:01 Uhr

Hallo,

ich möchte gerne eine Delphi DLL in meinem Projekt benutzen. (Muss ich benutzen)
Naja ich habe mir ein kleines Testzenario aufgebaut, welches leider nicht funktioniert. Hier erstmal der Delphi Code:


library Project2;

uses
  SysUtils,
  Classes;

{$R *.res}

function calculate (x,y : integer): integer; export;
begin
  calculate := x+y;
end;

exports
    calculate;

begin
end.

und hier mein C# Code zum einbinden:


using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication12
{
    class Program
    {
        [DllImport("Project2.dll")]
        public static extern int calculate(int x,int y);
        static void Main(string[] args)
        {
            int tmp = calculate(1, 1);
            Console.WriteLine(tmp);
            Console.ReadLine();
        }
    }
}

Das Problem ist das er mir keinen Fehler wirft. Sondern eine Utopische hohe Zahl dabei rauskommt. Wenn ich in C# alles in Int16 unwandle kommen minus Zahlen im vierstelligen Bereich raus. Was mache ich Falsch?

Gruß Kaji

10.03.2009 - 13:12 Uhr

Hallo,

Jack: der hilft leider nur bei .Net Assemblies.

dragon: Hmm das hilft auch nur bei .Net DLL`s oder?

dtietjen: Wenn es eine COM Libary von C++ oder Delphi oder so, gibt es glaube ich für die jeweilige Sprache ein Utility bei den bekannten Entwicklungsumgebung die für die eigene Sprache die öffentliche Methoden anzeigen können. Bin mir da jetzt aber nicht wirklich sicher.

Gruß Kaji