Laden...
Avatar #avatar-2527.png
burnersk myCSharp.de - Member
dev5-media Gruppe, CEO Oberndorf (Oste) Dabei seit 27.07.2007 100 Beiträge
Benutzerbeschreibung

Forenbeiträge von burnersk Ingesamt 100 Beiträge

06.09.2008 - 16:24 Uhr

aeh ja^^

ist wochenende... hab mein hirn an der wache abgegeben^^... ne.

Also wird z.B. "\x54\x65\x73\x74" als "Test" - vom Compiler umgewandelt - in der EXE abgespeichert.?!

06.09.2008 - 16:09 Uhr

mal so btw...

stimmt es wirklich, dass man im Falle HEX-Maskierung die ASCI-Zeichen in der EXE-HEX-Ansicht nicht mehr lesen kann?
Würde mich wundern, wenn man es nicht lesen kann; ich mache einfach mal was man mir sagt 😉

06.09.2008 - 15:18 Uhr

Danke euch beiden!

Ich werde es mal mit der HEX-Methode von zommi versuchen.

string s = "\x0048\x0061\x006C\x006C\x006F";  
06.09.2008 - 14:10 Uhr

Hallo,

ich SOLL einige Daten im Quellcode mittels ASCI-Code maskieren:

Hallo

Convert.ToChar(72).ToString() + Convert.ToChar(97).ToString() + Convert.ToChar(108).ToString() + Convert.ToChar(108).ToString() + Convert.ToChar(111).ToString()  

Nun ist dies ja ziemlicher overhead... geht das nicht auch kürzer? Ich hatte es mit Convert.ToString(...) versucht aber es hat nicht funktioniert.

21.07.2008 - 15:03 Uhr

verwendetes Datenbanksystem: System.Data.SQLite (v1.0.52.0)

Hallo,
ich habe da ein kleines Problem mit meinem Connection-String. Und zwar bekomme ich, seit dem der Connection-String in die Variable "dsn" ausgegliedert wurde, folgende Fehlermeldung:
System.FormatException: Die Zeichenfolge wurde nicht als gültiger Boolean erkannt. at System.Boolean.Parse at System.Data.SQLite.SQLiteConnection.Open at SQLiteDemo1.Program.Main in c:\Users\kornetzki\Documents\SharpDevelop Projects\SQLite\SQLiteDemo1\Program.cs:line 58
line 58 == " cnn.Open();"

#region Using directives
using System;
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
using System.IO;
using System.Windows.Forms;
#endregion

namespace SQLiteDemo1 {
  
  /// <summary>
  /// Class with program entry point.
  /// </summary>
  internal sealed class Program {
    
    /// <summary>
    /// Program entry point.
    /// </summary>
    private static void Main(string[] args) {
      string dbfile = Application.ExecutablePath + ".db";
      string dbpass = "mypassword";
      string dsn = "Data Source=" + "\"" + dbfile + "\"" + ";" +
                   "Version=" + 3 + ";" +
                   "UseUTF16Encoding=" + false + ";" +
                   "DateTimeFormat=" + "ISO8601" + ";" +
                   "BinaryGUID=" + "On" + ";" +
                   "Cache Size=" + 2000 + ";" +
                   "Synchronous=" + "Normal" + ";" +
                   "Page Size=" + 1024 + ";" +
                   "Enlist=" + "Y" + ";" +
                   "Pooling=" + false + ";" +
                   "FailIfMissing=" + false + ";" +
                   "Max Page Count=" + 0 + ";" +
                   "Legacy Format=" + false + ";" +
                   "Default Timeout=" + "30";
      MessageBox.Show(dsn,"dsn");
      SQLiteConnection dbcnn = new SQLiteConnection(dsn + ";" + "Password=" + "\"" + dbpass + "\"");
      
      // Existiert die Datenbank-Datei?
      if(File.Exists(dbfile) == false) {
        MessageBox.Show("Datenbank-Datei existiert noch nicht.");
        
        // Datenbank-Datei erstellen
        SQLiteConnection.CreateFile(dbfile);
        
        // Datenbank oeffnen, Passwort festlegen und wieder schliessen
        SQLiteConnection cnn = new SQLiteConnection(dsn);
        cnn.Open();
        cnn.ChangePassword(dbpass);
        cnn.Close();
      }
      else {
        MessageBox.Show("Datenbank-Datei existiert bereits.");
      }
    }
  }
}
29.01.2008 - 19:33 Uhr

Hi.

Was hat das CF mit dem Sql-Server Compact zu tun?
Da hast Du wohl etwas verwechselt. Nicht das .NET Compact Framework! sondern das MSSQL-Server Compact Framework. Zumindest heißt so die Datei die man dort herunterladen muss um auf dieses DB-System unterhalb WinVista zuzugreifen.

FireBird hat den Vorteil, das du nach installation des Servers, ... Der Server ist aber optional? Sonst müsste man das System ja installieren.

Und db4o kostet nur dann geld, wenn Du ein kommerzielles Produkt hast.. Ja, aber so wie ich GPL verstehe muss ich den Quelltext meines Programms veröffentlichen, in dem ich eine unter GPL lizenzierte Applikation/Quelltext verwende.

29.01.2008 - 19:07 Uhr

Auf einigen Computern (ich nehme mal stark an Win kleiner XP) ist das Microsoft SQL Compact Framework nicht verfügbar.

Ich habe SQLite gar nicht beachtet. ich schaue mal ob ich es verwenden kann.
Für weitere Vorschläge bin ich aber weiterhin dankbar. Kann ja noch was besseres geben.

29.01.2008 - 18:34 Uhr

Hi.

Ich habe mich schon nach installationsfreien Datenbanksystemen umgesehen und db4objects gefunden. Leider ist diese nützliche Datenbank in GPL lizenziert und ich kann diese daher nicht verwenden. Die kostenpflichtige Variante von db4objects kann ich mir auch nicht leisten.

Kennt jemand ein Datenbanksystem, welches man nicht auf dem Zielsystem installieren muss (ja, auch MSSQL Compact muss man installieren!)?

Benötige mindestens:
Interfacesprache: SQL/Tabellen (select, update, insert, delete)
Interfacesprache: SQL/Tabellen/Suche (Sortierreihenfolge, WHERE, OR, AND, >, <, ==, ≤, ≥, Platzhalter "*")
Interfacesprache: SQL/Datenbanken (use, create, drop)
Datentypen: String (VARCHAR), Integer, Double
Schneller als Access MDB (ADO/DAO)
Optimiert für sehr große Daten (> 1GB)
Mehrere simultane Zugriffe müssen möglich sein

Optimal:
Benutzerrechte
Tabellenrechte
Datenbankrechte

Muss mindestens funktionieren unter:
Ab Windows 98 (überall wo .NET Framework 2.0 läuft)
Ab 256 MB Arbeitsspeicher

23.01.2008 - 10:01 Uhr

Verfügbare Implementationen (Apache,IIS) sind schon sehr ausgereift, bieten einen hohen Funktionsumfang und sind mehr oder minder für Lau zu haben - warum also das Rad neu erfinden

Hi.

An Apache hatte ich noch gar nicht gedacht. Der ist ja auch PlugIn-fähig. Kennt jemand eine gute Seite über die Apache PlugIn-Entwicklung? (Auch wenn ich Englisch kann ist Deutsch schöner 😉

Warum das Rad neu erfinden?
Nun, ich möchte, wenn ich als Praktikant einen Auftrag erhalte, nicht gleich die Nase hoch halten und sagen "So was entwickle ich nicht". Man wird halt ausgebeutet 🙁

23.01.2008 - 09:47 Uhr

Hallo.

Ich beschäftige mich gerade unter anderem mit der Entwicklung eines eigenen Webservers, welcher PlugIn-fähig sein soll.
Ich habe mir also den Artikel Einfacher Webserver - C# mal auf den Bildschirm geholt und einen einfachen Server zum laufen gebracht.
Dann ein Testprojekt für PlugIns (PluginSample von NeuroCoder) und die Grundbegriffe der speziefischen Entwicklung dazu gelernt.

Nun meine Frage:
Was muss man bei der Entwicklung eines Servers mit PlugIn-System beachten? Welche Sicherheitsrisiken können auftreten?
Was spricht im Allgemeinen für/gegen einen eigenen Webserver?
Das Ding soll nachher einen eigenständigen WebService, der eingesandte Files manipuliert und zurückschickt, bieten.

23.01.2008 - 09:32 Uhr

Wieso? Wenn du das Encoding setzt und dann damit ein XmlWriter fütterst, wird bei mir die Xml Kennung autom. geschrieben.

Tja.
Vielleicht wenn ich die BOM aktiviere. Aber es ist wohl einfacher, genanntest oben einzufügen als den BOM rauszufriemeln.

22.01.2008 - 19:39 Uhr

Hi.

Ich wollte, dass XmlWriter <?xml version="1.0" encoding="UTF-8"?> automatisch voranstellt. Jetzt mache ich es nach her manuell (per code).

22.01.2008 - 18:03 Uhr

Allerdings habe ich dir mal eine vereinfachte Version des Plugin-Systems aus besagtem Generic Manipulator in den Anhang gepackt.

Danke, dass hat geholfen.

22.01.2008 - 17:05 Uhr

Dann kommt bei mir das:

Main at offset 215 in file:line:column <filename unknown>:0:0

22.01.2008 - 16:58 Uhr

Kann man das irgendwie in eine Funktion zusammenfassen? So, dass man nur noch BeispielClass.getMethod() aufrufen muss?

22.01.2008 - 16:56 Uhr
using System.Diagnostics;
[...]
Console.Write(new StackFrame().GetMethod().DeclaringType + "." + new StackFrame().GetMethod().Name);
[...]

Besten Dank!

22.01.2008 - 16:44 Uhr

Hallo.

Gibt es irgendwo eine Eigenschaft, die den aktuellen "Codepfad" enthält?
Also zum Beispiel übergibt die Eigenschaft bei folgender Verwendung

namespace nsBeispiel.nsBeispiel2
class BeispielClass
{
	void Beispiel()
	{
		Console.Write(Referenz.Codepfad);
	}
}

den String

nsBeispiel.nsBeispiel2.BeispielClass.Beispiel

22.01.2008 - 15:59 Uhr

Hi.

Ich blicke leider nicht durch...
Ich hänge mal ein Testprojekt an. Vielleicht erklärt sich jemand bereit dieses Projekt zu bearbeiten. So kann ich es am Besten herleiten. hoff

"pluginTest.EventListener.sendDataClass.sendData" (bzw. readData) ist nur der Ausführpunkt.
Es soll noch weitere so genannte EventListener geben. Wenn möglich bitte den PlugIn-Host in "pluginTest.PlugInHost".

22.01.2008 - 13:23 Uhr

Hi.

Ich habe mir mal Wie kann ich Plugins realisieren??? geschnappt. Blicke aber nicht ganz durch.

Folgendes ist für die Hauptanwendung (Server) gedacht:

/**
 * PlugIn Interface.
 *
 * @author	Sören Kornetzki <S.Kornetzki@dev5-media.de>
 * @copyright	© 2007-2008 dev5-media Gruppe, IT Dienstleistungen, Sören Kornetzki
 * @package	de.dev5-media.plugintest
 * @since	22.01.2008 13:05
 * @version	1.0
 * Erstellt mit SharpDevelop.
 */

using System;
using System.Collections;

namespace pluginTest.plugin
{
	/// <summary>
	/// Interface für PlugIns
	/// </summary>
	public interface IPlugIn
	{
		/// <summary>
		/// EventListener "readData".
		/// 
		/// Manipulationsmöglichkeit für Daten die an den Clienten geschickt werden sollen.
		/// </summary>
		/// <param name="sData">Original Daten des Servers</param>
		/// <returns>Vom PlugIn manipulierte Daten</returns>
		string readData(string sData);
		
		/// <summary>
		/// EventListener "readParameters".
		/// 
		/// Manipulationsmöglichkeit für GET/POST Parameter bevor der Server diese verarbeitet.
		/// </summary>
		/// <param name="alParameters">Original Daten des Servers</param>
		/// <returns>Vom PlugIn manipulierte Daten</returns>
		ArrayList readParameters(ArrayList alParameters);
	}
}

Wie muss ich dann das Plugin aufbauen? Jedes registrierte Plugin soll die Daten bekommen (linear). Also das erste Plugin bekommt die original Daten das zweite PlugIn die manipulierten Daten von Plugin 1

22.01.2008 - 12:39 Uhr

Hi.

Ich bin gerade dabei einen kleinen Webserver zu entwickeln. Nun möchte ich ein Erweiterungssystem realisieren welches die an den Client zu senden Daten vor dem verschicken nich verändern kann.

Wie ist dies zu realisieren?

Wenn möglich hätte ich es gerne, dass die Erweiterungen exe-Dateien sind (eigene GUI haben).

Ich habe mir es schon mit einem named pipe ausgedacht, aber da kann ja jeder der die Daten hat drauf zugreifen. Besser würde es mir gefallen, wenn der Server in einem bestimmten Verzeichnis sucht und jede enthaltene Datei aufruft.

22.01.2008 - 12:26 Uhr

Den Socket schliessen.

BTW: Das läßt sich ab .NET 2.0 viel einfacher mit der Klasse HttpListener realisieren.

Hinweis zu Windows Server 2003: ist für die Verwendung dieser Klasse erforderlich.

Hinweis zu Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003: Service Pack 2 oder höher ist für die Verwendung dieser Klasse erforderlich.

Ich brauche eine Lösung, die auf jeder .NET 2.0 Fw Platform funktioniert.

22.01.2008 - 12:16 Uhr

Hi.

Ich bin gerade bei Einfacher Webserver - C#.
Ich habe das als GUI-Anwendung umgewandelt und möchte über einen Butten den Server starten und beenden.
Nur wie beende ich den Server ohne die Anwendung zu beenden?

22.01.2008 - 11:03 Uhr

* blind sein*
habe sie gefunden

22.01.2008 - 10:57 Uhr

Hi.

Ich bin gerade bei Einfacher Webserver - C#. Nur findet #D Serverhandling (erstes listing) nicht.

21.01.2008 - 17:55 Uhr

[EDIT]Abgeteilt von <?xml version="1.0" encoding="UTF-8"?>[EDIT]

Und wie bekomm ich dann das BOM aus der Datei raus?
Momentan:

settings.Encoding = new System.Text.UTF8Encoding(false);
21.01.2008 - 17:32 Uhr

[EDIT]Abgeteilt von Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.9[EDIT]

Wenn ihr schon mal den Quellcode habt 😉 wir bekomme ich

<?xml version="1.0" encoding="UTF-8"?>

an den Anfang der XML-Datei?

21.01.2008 - 17:12 Uhr

Einfach mal den Debugger anwerfen, dann siehst du schon, wo ein Objekt Null ist.

Ja, aber habe ich das nicht durch

if ( x != "" )

agbefangen?
Dürfte durch die IF ja gar nicht zum Fehler kommen.

21.01.2008 - 17:09 Uhr

Hi,

habe das ursprüngliche Thema ein bissl geändert...

21.01.2008 - 15:55 Uhr

Hi.

Ich bekomme die Fehlermeldung

Ausnahme System.NullReferenceException wurde im ausgeführten Programm ausgelöst:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.9

XMLCreate() - c:\Users\Sören Kornetzki\Entwicklungen\xmlTest\Program.cs:209,8
Main() - c:\Users\Sören Kornetzki\Entwicklungen\xmlTest\Program.cs:50,5

jedoch finde ich keinen Fehler im Quellcode in Zeile 209...
Seht ihr da einen Fehler?

15.01.2008 - 14:20 Uhr

Besten Dank! Funktioniert.

15.01.2008 - 13:55 Uhr

Hi.

Wie kann ich das Programm sofort abbrechen, ohne dass ich einen RT-Fehler erzeuge oder noch weiter Code ausgeführt wird?

15.01.2008 - 13:45 Uhr

Ja.

Gar nicht drauf gekommen, dass es auch noch "eErrorCode.ErrorCode_None" gibt. Danke!

15.01.2008 - 13:27 Uhr

Hi,

ich stehe gerade vor einem Problem, dass ich eigentlich mit Sprungmarken lösen möchte ; Ich weiß aber nicht wie.

Ich möchte die Sprungmarke "smStartUpNoError" aufrufen, wenn ein spezieller Fehler (eErrorCode.ErrorCode_WrongDate) aufgetreten ist.

Kann man das nicht besser lösen? Jedenfalls hätte ich trotzdem gerne noch eine Info zur Sprungmarke (die nicht funktioniert).

/// <summary>
		/// Mit Hilfe der StartUp-Funktion wird die Anwendung an der Library angemeldet. Erst danach stehen alle weiteren Library-Funktionen und Eigenschaften zur Verfügung.
		/// </summary>
		/// <returns>Lizenzmodus [Abgelaufen,Demo,Vollversion] (Integer)</returns>
		public static eLicenseMode sps_StartUp()
		{
			if ( SPSClass.sevLock_StartUp("") == 1 )
			{
			smStartUpNoError:
				// Kein Fehler bei der Anmeldung
			}
			else
			{
				// Fehler bei der Anmeldung
				
				switch ( SPSClass.sevLock_LastErrorCode() )
				{
					case eErrorCode.ErrorCode_NoInit:
						// sevLock Library wurde nicht initialisiert - Init()-Funktion
						return eLicenseMode.LicenseMode_Error;
					case eErrorCode.ErrorCode_NoDevLicense:
						// sevLock Library wurde nicht korrekt initialisiert - Init()-Funktion
						return eLicenseMode.LicenseMode_Error;
					case eErrorCode.ErrorCode_NoAppID:
						// Anwendung wurde nicht korrekt angemeldet - StartUp()-Funktion
						return eLicenseMode.LicenseMode_Error;
					case eErrorCode.ErrorCode_WrongDate:
						// Systemdatum wurde zurückgesetzt
						// Fehler hat keine Bedeutung, da über Programmstarts die Demo abläuft
						goto smStartUpNoError;
						break;
					default:
						// andere Fehler
						return eLicenseMode.LicenseMode_Error;
				}
			}
			
			return eLicenseMode.LicenseMode_Expired;
		}
14.01.2008 - 16:33 Uhr

Besten Dank! Es funktioniert.

14.01.2008 - 16:07 Uhr

Hi.

Ich habe mal folgendes Beispiel aus der MSDN genommen

/**
 * <FILEDESCRIPTION>.
 *
 * @author	Soeren Kornetzki <S.Kornetzki@dev5-media.de>
 * @copyright	© 2007-2008 dev5-media Gruppe, IT Dienstleistungen, Sören Kornetzki
 * @package	de.dev5-media.<PACKAGEIDENTIFER>
 * @since	14.01.2008 14:54
 * @version	<FILEVERSION>
 * Erstellt mit SharpDevelop.
 */

using System;
using System.IO;

namespace testUtf8
{
	/// <summary>
	/// Class with program entry point.
	/// </summary>
	internal sealed class Program
	{
		/// <summary>
		/// Program entry point.
		/// </summary>
		[STAThread]
		private static void Main(string[] args)
		{
			using ( StreamWriter sw = new StreamWriter("C:\\Users\\Sören Kornetzki\\Desktop\\StreamWriter.txt", false, System.Text.Encoding.UTF8) )
			{
				sw.Write("This is the ");
				sw.WriteLine("header for the file");
				sw.WriteLine("-------------------");
				
				sw.WriteLine("The date is: ");
				sw.WriteLine(DateTime.Now);
			}
		}
		
	}
}

Nun wird die Datei als UTF-8 (mit BOM) gespeichert. Könnte mir jemand verraten, welches Encoding ich verwenden muss um UTF-8 (ohne BOM) zu speichern.
Wenn ich nur

using ( StreamWriter sw = new StreamWriter("C:\\Users\\Sören Kornetzki\\Desktop\\StreamWriter.txt", false, System.Text.Encoding.UTF8) )

verwende, dann wird die Datei als ANSI gespeichert.

Ich benötige jedoch auf Grund eines WCMS, welches die Datei weiter verarbeitet, eine Speicherung in UTF-8 (ohne BOM). Es funktioniert weder mit ANSI noch mit UTF-8 (mit BOM).

13.01.2008 - 18:53 Uhr

Hi.

Mal ne einfache (blöde) Frage (nochmal). Habe gerade nen Blackout.
Wie sieht es mit optionalen Parametern aus?

VB6

public function TestFunktion ( ByVal PflichtParam as String, Optional ByVal OptionalParam As String = "Default" )
13.01.2008 - 18:33 Uhr

Wie blöd kann man sein??? Ich habe genau da rauf geschaut und habs nich gepeilt aah

Danke!

13.01.2008 - 18:30 Uhr

Hi.

Mal ne einfache (blöde) Frage. Habe gerade nen Blackout.
Kann man in C# eine Funktion abbrechen? -- warscheinlich ja, bloß wie noch mal.

In VB6 war es einfach nur

public function TestFunktion()
	' ...
	Exit Function
	' ...
End Function
09.01.2008 - 17:42 Uhr
/*
 * Erstellt mit SharpDevelop.
 * Benutzer: Sören Kornetzki
 * Datum: 09.01.2008
 * Zeit: 13:32
 * 
 * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
 */

using System;
using System.Windows.Forms;

namespace EncodeClasses2
{
	/// <summary>
	/// Class with program entry point.
	/// </summary>
	internal sealed class Program
	{
		private static EncodeClasses2.Encode Enc;
		private static object InData, OutData;
		private static int nResult;
		
		/// <summary>
		/// Program entry point.
		/// </summary>
		[STAThread]
		private static void Main(string[] args)
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			
			Enc = new EncodeClass();
			
			Enc.UserName = "UserName";
			Enc.LizenzKey = "LizenzKey";
			
			InData = "Das ist ein Test-String";
			Enc.Mechanism = EncodeMechanisms.Base64;
			
			nResult = Enc.Encode(ref InData, ref OutData);
			MessageBox.Show("Konnte Objekt verschlüsselt werden: \t " + nResult.ToString() + "\n"
			                + "Eingabe: \t\t\t\t \"" + InData + "\"" + "\n"
			                + "Ausgabe: \t\t\t\t \"" + OutData + "\"" );
		}
		
	}
}

Ausgabe:

Konnte Objekt verschlüsselt werden: 0
Eingabe: "Das ist ein Test-String"
Ausgabe: ""

Die DLL funktioniert. Die Lizenzangaben sind korrekt. Wird von vielen Firmen verwendet. Auch unter C#.

Außerdem bekomme ich den Runtime Fehler "Non-modal forms cannot be displayed in this host application from an ActiveX DLL" bei Aufruf eines Fensters der DLL

09.01.2008 - 17:24 Uhr
/*
 * Erstellt mit SharpDevelop.
 * Benutzer: Sören Kornetzki
 * Datum: 09.01.2008
 * Zeit: 13:32
 * 
 * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
 */

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace EncodeClasses2
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		private EncodeClasses2.Encode Enc;
		private object InData, OutData;
		private int nResult;
		
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
			
			Enc = new EncodeClass();
			
			Enc.UserName = "UserName";
			Enc.LizenzKey = "LizenzKey";
			
			InData = "Das ist ein Test-String";
			Enc.Mechanism = EncodeMechanisms.Base64;
			
			nResult = Enc.Encode(out InData, out OutData);
			if(nResult>0)
			{
				MessageBox.Show("Hat geklappt");
			}
			else
			{
				MessageBox.Show("Hat nicht geklappt");
			}
		}
	}
}

Fehler:

Das Argument 2 muss mit dem Schlüsselwort ref übergeben werden. (CS1620) - C:\Users\Sören Kornetzki\Entwicklungen\EncodeClasses2\MainForm.cs:45,41
Das Argument 1 muss mit dem Schlüsselwort ref übergeben werden. (CS1620) - C:\Users\Sören Kornetzki\Entwicklungen\EncodeClasses2\MainForm.cs:45,29
Die beste Übereinstimmung für die überladene Methode EncodeClasses2._Encode.Encode(ref object, ref object) hat einige ungültige Argumente. (CS1502) - C:\Users\Sören Kornetzki\Entwicklungen\EncodeClasses2\MainForm.cs:45,14

und falls sich jemand über meine Methodendefinition beschweren möchte:

Das ganze mit ref Aufgerufen ergibt immer nResult=0 (DLL Fehler)

09.01.2008 - 17:18 Uhr

Hallo burnersk,

wenn du einen Parameter, der als out definiert ist, an eine Methode "übergibst", musst du auch beim Aufruf out schreiben. Habe ich schon versucht. Compilererror: "Muss als ref übergeben werden und nicht als out"

Außerdem muss der Typ der Variable, die du bei der "Übergabe" verwendest, mit dem Typ des Parameters übereinstimmen. Wie du in meiner Abschlussbemerkung unschwer lesen kannst ist mir das klar. Bloß wie kann ich das Prinzip realisieren.

...
        private object SourceStr, DestStr;
...

funktioniert ja nicht.

09.01.2008 - 17:01 Uhr

Hi.

Eine Methodendefinition sieht bei mir so aus:

public int EncodeClasses2._Encode.Encode(out object InData, out object OutData)

Ich möchte nun eine Zeichenkette dieser Methode übergeben (InData und OutData). Wie kann ich das bewerkstelligen?

Beispiel:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace EncodeClasses2
{
	public partial class MainForm : Form
	{
		private EncodeClasses2.Encode Enc;
		private string SourceStr, DestStr;
		private int nResult;
		
		public MainForm()
		{
			Enc = new EncodeClass();
			
			SourceStr = "Dies ist ein Test-String";
			
			nResult = Enc.Encode(ref SourceStr, ref DestStr);
			if ( nResult > 0 )
			{
				MessageBox.Show(DestStr);
				
				nResult = Enc.Decode(ref DestStr, ref SourceStr);
				MessageBox.Show(SourceStr);
			}
		}
	}
}

So funktioniert es natürlich nicht, es verdeutlicht aber meine Frage.

09.01.2008 - 13:56 Uhr

Hi.

Ich bin gerade dabei einen alten VB6 Quelltext nach C# umzuwandeln. Nun habe ich ein Problem:

/*
 * Erstellt mit SharpDevelop.
 * Benutzer: Sören Kornetzki
 * Datum: 09.01.2008
 * Zeit: 13:32
 * 
 * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
 */

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace EncodeClasses2
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		private EncodeClasses2.Encode Enc;
		private byte[] Data1, Data2;
		private long dwData1, dwData2;
		
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
			
			Enc = new EncodeClass();
			
			Enc.UserName = "UserName";
			Enc.LizenzKey = "LizenzKey";
			
			Enc.Mechanism = EncodeMechanisms.Base64;
			
			dwData1 = Enc.Encode("Dieser Text wird encodiert.", Data1 );
			MessageBox.Show("Encodierte Bytes: " + dwData1 );
			
			dwData2 = Enc.Decode(Data1, Data2);
			MessageBox.Show("Dekodierte Bytes: " + dwData2 );
		}
	}
}

Das Argument 2 kann nicht von byte[] in ref object konvertiert werden. (CS1503) - xyz:\EncodeClasses2\MainForm.cs:44,56
Das Argument 1 kann nicht von string in ref object konvertiert werden. (CS1503) - xyz:\EncodeClasses2\MainForm.cs:44,25
Die beste Übereinstimmung für die überladene Methode EncodeClasses2._Encode.Encode(ref object, ref object) hat einige ungültige Argumente. (CS1502) - xyz:\EncodeClasses2\MainForm.cs:44,14
Das Argument 2 kann nicht von byte[] in ref object konvertiert werden. (CS1503) - xyz:\EncodeClasses2\MainForm.cs:47,32
Das Argument 1 kann nicht von byte[] in ref object konvertiert werden. (CS1503) - xyz:\EncodeClasses2\MainForm.cs:47,25
Die beste Übereinstimmung für die überladene Methode EncodeClasses2._Encode.Decode(ref object, ref object) hat einige ungültige Argumente. (CS1502) - xyz:\EncodeClasses2\MainForm.cs:47,14

Edit: Laut der techDoku der Komponente sollte dies aber funktionieren...

04.01.2008 - 18:27 Uhr

Hallo.

Hat jemand Erfahrung mit named pipe zwischen C# und PHP5?

01.01.2008 - 20:52 Uhr

Hi.

Wie kann ich die Rückgabe der MessageBox.Show() in einer Variable speichern?
Folgendes (gekürztes) Beispiel funktioniert nicht:

namespace CPCreator
{
	internal sealed class Program
	{
		private System.Windows.Forms.DialogResult eMsgBoxResult;
		
		private static void Main(string[] args)
		{
			eMsgBoxResult = MessageBox.Show ( "Sie sind im Besitz einer Entwicklungsversion von " + Application.ProductName + ".\n"
							                 + "Diese Version kann mit schweren Fehlern behaftet sein und ist nur zum Zweck der Fehlersuche freigegeben. "
							                 + "Es ist nicht gestattet diese Software produktiv einzusetzen. Hersteller und Publisher weisen jegliche Haftung von sich.\n"
							                 + "Produkt: " + Application.ProductName + " " + Application.ProductVersion + " " + Program.sDevMode + "\n"
							                 + "\nMöchten Sie " + Application.ProductName + " dennoch auf eigene Gefahr ausführen?"
							                 , Application.ProductName
							                 , MessageBoxButtons.OKCancel
							                 , MessageBoxIcon.Exclamation
							                );
			if ( eMsgBoxResult == DialogResult.OK )
			{
				// Programm weiter ausführen
				
				MessageBox.Show ( "Fortsetzung nicht implementiert"
				                 , Application.ProductName
				                );
				Application.Exit();
			}
			else
			{
				Application.Exit();
			}
		}
	}
}

Fehlermeldung:

Für das nicht statische Feld, die Methode oder die Eigenschaft CPCreator.Program.eMsgBoxResult ist ein Objektverweis erforderlich. (CS0120) - C:\Users\Sören Kornetzki\Entwicklungen\CPCreator\Program.cs:37,5
Für das nicht statische Feld, die Methode oder die Eigenschaft CPCreator.Program.eMsgBoxResult ist ein Objektverweis erforderlich. (CS0120) - C:\Users\Sören Kornetzki\Entwicklungen\CPCreator\Program.cs:46,10

01.01.2008 - 19:35 Uhr

Ich glaube mich erinnern zu können dass in den redist-Dokumenten vom Studio drinnensteht, dass du das ausliefern darfst.

Du findest die MDAC 2.8 ja auf eigentlich jeder Programm-CD, und ander Software von großen herstellern.

Ich habe die MDAC_TYP.exe von MS heruntergeladen, und dann ins Setup integriert. Bei der Installation wird ja keine gültigkeitsprüfung durchgeführt, und bei Win98 gibts ja so ne prüfung gar nicht mehr.

Auch unter
>
steht nichts davon dass du es nicht weitergeben darfst.

Hi,

bei der Installation wird keine Überprüfung ausgeführt. Das passiert, wenn du das Setup aus dem Microsoft Downloadcenter herunterlädst. Allerdings merkst du erst was davon, wenn du einen anderen Browser als IE verwendest.

Wenn du diesem offiziellen MS Link folgst (http://www.microsoft.com/downloads/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e&DisplayLang=de) wirst du einer Gültigkeitsprüfung unterzogen, bevor du das runterladen kannst.

Gültigkeitsprüfung erforderlich

Dieser Download ist verfügbar für Benutzer von Original-Microsoft Windows. Bitte klicken Sie auf die Schaltfläche Weiter, um die Windows-Gültigkeitsprüfung zu starten. Wie in unserer Datenschutzerklärung beschrieben, werden die während der Gültigkeitsprüfung erfassten Informationen von Microsoft nicht dazu verwendet, Sie zu identifizieren oder Kontakt mit Ihnen aufzunehmen.

Windows Vista-Benutzer müssen die Anforderungen der Microsoft-Gültigkeitsprüfung erfüllen, um bestimmte Produktfunktionen aktivieren zu können sowie nicht sicherheitsrelevante Updates und Produktsupport von Microsoft zu erhalten. Weitere Informationen finden Sie in den häufig gestellten Fragen zu Windows Genuine Advantage (FAQ).

01.01.2008 - 19:09 Uhr

Da MDAC 2.8 auch auf Win98 läuft, sollte das kein Problem sein.
Müsstest halt bei ner Installation auf einem Win98-System prüfen, ob MDAC 2.8 vorhanden ist.

Ich darf aber MDAC 2.8 nicht mehr ausliefern, oder? MDAC 2.7 und frühere Versionen konnte man ja noch in das Setup einbinden aber bei MDAC 2.8 gibt es eine Gültigkeitsprüfung der Windows-Version vor dem Download.

01.01.2008 - 18:41 Uhr

Hallo.

Ich habe nur die COM-Referenz von Microsoft ADO Ext. 6.0 for DLL and Security" gefunden. Funktioniert das jetzt nur unter Vista oder auch auf einem Win98 Rechner mit .NET 2.0?
Muss ich im Setup zusätzlich noch Dateien mitführen?

01.01.2008 - 18:36 Uhr

sry leute. hatte nicht bei com referenzen nachgeschaut. in der liste steht es nämlich drin...

01.01.2008 - 13:50 Uhr

Unter Vista ist aber MDAC 2.8 installiert, daher sind normalerweise auch die ADO Extensions 2.8 installiert sein.

Bei meinem Testprojekt (erzeugt Datenbank via Microsoft ADO Ext. 2.8 for DDL and Security) funktioniert alles unter Vista ohne zusätzliche installation oder Probleme.

  
Catalog ADOXCatalog = new CatalogClass();  
ADOXCatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\newdata.mdb");  
  

Also unter Windows war MDAC 2.8 / MDAC 2.8 SP1 Standardmäßig dabei, ab Windows Vista heißt das ding also Windows DAC 6.0 (ist aber fast das gleiche wie MDAC 2.8) 😃

Installation:*mdac28sp1 *mdac28sdk

Resultat:

Der Typ- oder Namespacename CatalogClass konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?) (CS0246) - C:\Users\Sören Kornetzki\Entwicklungen\mdbTest1\MainForm.cs:38,30

/**
 * <FILEDESCRIPTION>.
 * 
 * @author	Soeren Kornetzki <S.Kornetzki@dev5-media.de>
 * @copyright	© 2007-2008 dev5-media Gruppe, IT Dienstleistungen, Soeren Kornetzki
 * @package	de.dev5-media.<PACKAGEIDENTIFER>
 * @since	31.12.2007 14:06
 * @version	1.0.0.1 Alpha 1
 * Erstellt mit SharpDevelop.
 */

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace mdbTest1
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		
		void Button1Click(object sender, EventArgs e)
		{
			Catalog ADOXCatalog = new CatalogClass();
			ADOXCatalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
			                   + Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
			                   + "\\newdata.mdb");
		}
	}
}

Referenzen: Nichts mit ADO gefunden... 😦