Laden...
O
onlinegurke myCSharp.de - Member
Student/Hilfswissenschaftler Dresdner in Karlsruhe Dabei seit 15.01.2007 778 Beiträge
Benutzerbeschreibung

Forenbeiträge von onlinegurke Ingesamt 778 Beiträge

07.02.2007 - 09:39 Uhr

Naja, ich hab halt als ich mit dem Projekt angefangen hab keine Ahnung von Softwareentwicklung gehabt und einfach losprogrammiert. Am Anfang stand auch alles in einer Assembly, aber das ist ja nicht das Problem. Der Fehler passiert ja offensichtlich bei der Deserialisierung meiner Objekte. Deserialisiert die IDE Objekte aus den Codedateien? Oder während der Entwicklung? Ja, die CodeDatei hat mehr als 3000 Zeilen (4983 um genau zu sein) , aber der Code der in dieser Codedatei Zeile 3151 steht, ist für diese Klasse völlig irrelevant (es handelt sich um eine Ereignisdatenklasse, die beim umbenennen von jedwedem Scheiß gebraucht wird aber mit der Klasse, um die sich der Fehler dreht, nichts zu tun hat).
Außerdem (ja, stimmt, es ist durchaus erwähnenswert) tritt der Fehler in einem anderen Projekt auf (soviel hat mir VS noch verraten, aber nicht in welcher Datei...)

Tatsächlich bin ich jetzt schon fleißig auf der Suche nach der Datei, die da vllt gemeint sein könnte.

07.02.2007 - 08:43 Uhr

seit wann gibt eine StoredProcedure eine Tabelle zurück? Kann das sein, dass du von einer Tabellenwertfunktion redest?

07.02.2007 - 08:28 Uhr

ich weiß nicht, was andere darüber denken, aber ich kenne ITextSharp nicht. Ist das ein Programmteil von SharpDevelop? Schreib mal, was das ist, was die Bibliothek kann und wie du gedenkst sie zu nutzen.

07.02.2007 - 08:24 Uhr

Hm, seit das SP1 drauf ist ist der Fehler nicht wieder vorgekommen, zumal dieser GenerateResource-Fehler momentan auch jeden Reproduzierungsversuch unterdrückt 🙁

07.02.2007 - 08:22 Uhr

Naja, du könntest versuchen, auf die entsprechenden DLLs lokal zu referenzieren, also in den Projekteinstellungen eintragen, dass eine lokale Kopie erstellt werden soll und die dann mit dem Programm zusammen ausliefern. Macht aber u.U. keinen Sinn wenn deine Kunden entweder sowieso .NET 3.0 haben oder (was dir auch passieren kann) ein Betriebssystem haben, das von den DLLs der WIC nicht unterstützt wird (.NET 3.0 wird unterstützt z.B. m.E. nach ein Win2k, geschweige denn Win9x oder Me)

07.02.2007 - 08:12 Uhr

zwischenzeitlich war's auch schonmal weg, aber jetzt...
Das Problem ist, der Fehler tritt auch dann auf, wenn ich den Code auskommentiere, d.h., wahrscheinlich war da mal ein Problem bei der Serialisierung/Deserialisierung, dann ist da was falsch serialisiert worden und jetzt haut er mir immer n Fehler raus, weil er die serialisierten Objekte nicht wieder deserialisieren kann, weil da wahrscheinlich die Namen nicht stimmen oder so..

Hat man da irgendwie ne Chance, das ganze noch zu retten? Irgendwo muss das ja hinserialisiert haben, aber wohin? Theoretisch müsste sich der Fehler doch lösen lassen, wenn die Datei mit den falsch serialisierten Objekten gelöscht würde, oder? Aber wo kann die sein?

05.02.2007 - 16:55 Uhr

Worauf bezieht sich die Zeilenangabe 3151? Was ist da passiert? Hab an dem Projekt seit dem letzten Build nicht mehr gearbeitet...

05.02.2007 - 16:54 Uhr

Fehler 1 Unerwarteter Fehler bei der GenerateResource-Aufgabe.
System.Reflection.TargetInvocationException: Der Typ in den Daten in Zeile 3151, Position 5, konnte nicht geladen werden, weil er während der Erstellung die folgende Ausnahme ausgelöst hat: Der Member DisplayName konnte nicht gefunden werden.. ---> System.Xml.XmlException: Der Typ in den Daten in Zeile 3151, Position 5, konnte nicht geladen werden, weil er während der Erstellung die folgende Ausnahme ausgelöst hat: Der Member DisplayName konnte nicht gefunden werden.. Zeile 3151, Position 5. ---> System.Runtime.Serialization.SerializationException: Der Member DisplayName konnte nicht gefunden werden.
bei System.Runtime.Serialization.SerializationInfo.GetElement(String name, Type& foundType)
bei System.Runtime.Serialization.SerializationInfo.GetString(String name)
bei stddoku.Allgemein.ShortTable..ctor(SerializationInfo info, StreamingContext context) in D:\arbeit\Studiendokumentation\Studiendokumentation\stddokuCommon\stddokuCommon.vb:Zeile 1870.
--- Ende der internen Ausnahmestapelüberwachung ---

--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.Build.Shared.ExceptionHandling.RethrowUnlessFileIO(Exception e)
bei Microsoft.Build.Tasks.ProcessResourceFiles.ProcessFile(String inFile, String outFile)
bei Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, ArrayList inputs, ArrayList outputs, Boolean sourcePath, String language, String namespacename, String filename, String classname, Boolean publicClass)
bei Microsoft.Build.Tasks.ProcessResourceFiles.Run(TaskLoggingHelper log, ITaskItem[] assemblyFilesList, ArrayList inputs, ArrayList outputs, Boolean sourcePath, String language, String namespacename, String filename, String classname, Boolean publicClass)
bei Microsoft.Build.Tasks.GenerateResource.Execute()
bei Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound) DataBrowser

Code bei Zeile 1870:

this._display = info.GetString("DisplayName")
            this._name = info.GetString("Database")
            this._ID = info.GetInt64("ID")
            this._sot = info.GetBoolean("SingleObject")

Und die Serialisierung:

info.AddValue("DisplayName", this._display)
            info.AddValue("Database", this._name)
            info.AddValue("SingleObject", this._sot)
            info.AddValue("ID", _ID)
05.02.2007 - 16:14 Uhr

Ich hab mir ein eigenes System gebaut (allerdings basierend auf ASP.NET). Die Hauptgründe waren, dass ich ein System brauchte, wo zu jeder Zelle in der Datenbank gespeichert wird, wer diese wann zu letzt geändert, vor allem aber auch gelöscht hat, wo Löschungen rückgängig gemacht werden können, angezeigte Namen von Tabellen und Spalten sich an keine Konventionen halten müssen, vor allem aber, weil ich die Vorzüge eines nicht typisierten DataSets nicht kannte (wie auch, mit 2 Monaten Programmiererfahrung).

Im Nachhinein beurteilt hat das ganze aber zumindest ein bisschen was gebracht. (Die einzige Alternative die UPDATE-Konstruktoren von ADO.NET anzupassen wäre auch ne Heidenarbeit gewesen...)

05.02.2007 - 15:24 Uhr

genau, deshalb der Tip mit den Büchern. Man kann kein Programm in einer objektorierntierten Programmiersprache programmieren, wenn man nicht weiß, was ein Objekt ist und was eine Klasse ist.

05.02.2007 - 12:56 Uhr

Falls du die Aufrufliste meinst, die gibts auch in VS2003, falls nicht dann Extras/Anpassen/Debuggen und hin damit wo du willst

05.02.2007 - 12:52 Uhr

ich würde svenson auch zustimmen, da du die Struktur sowieso mit einem Objekt marshalst sind eh (fast) alle Vorteile der Verwendung von Strukturen dahin.

Ich glaub aber, das löst nicht wirklich dein Problem 8)

Um das aber doch zu lösen würd ich gern wissen, ob du die dynamisch zu ladende Assembly kennst und/oder sogar verändern kannst, falls nötig (nur dann kommen ja Klassen und Schnittstellen überhaupt in Frage), oder ob du einfach irgendeine beliebige Assembly laden willst...

05.02.2007 - 12:40 Uhr

Was hat der denn genau gemacht?

05.02.2007 - 12:38 Uhr

Wo soll der Button erstellt werden
Der Code den du eingefügt hast ist syntaktisch in Ordnung, falls der Container (Dort wo, der Button eigefügt werden soll, also wahrscheinlich dein Formular, was du wahrscheinlich Form1 genannt hast) wirklich Place heißt (im Desginer nachgucken).

Place.Controls.Clear();

heißt, das die Steuerelemente von "Place" gelöscht werden.

Place.Controls.Add(Button1);

heißt, dass Button1 zu den Steuerelementen von "Place" hinzugefügt wird

Place steht im übrigen nur als Platzhalter für den Platz, wo der Button halt hin soll

Generell würd ich dir aber eher empfehlen, dir erstmal ein Buch über .NET und C# zu holen und durchzulesen, von vorne bis hinten. Ich selbst hab .NET gelernt, indem ich mir (bevor ich eine Zeile Code geschrieben hab) erstmal 600 Seiten "Visual Basic 1.1" von Michael Kofler durchgelesen hab. Guck mal unter der Bücherrubrik, da gibts meistens ziemlich viele preisgünstige Bücher

05.02.2007 - 12:14 Uhr

Original von Programmierhans
Wäre es nicht einfacher eine neue ID mit NEWID zu ziehen ?

Ist NEWID() nicht vom Typ uniqueidendifier (auch bekannt als GUID)?

Aber du könntest doch einen Autoincrement für numerische Spalten setzen (heißt immer anders, aber da selbst MySQL 4.0 das unterstützt sollte der SQL Server 2000 das auch unterstützen, allerdings höchstwahrscheinlich unter anderem Namen, ich vermute mal es heißt wie im SQL Server 2005 IDENDITY)

In welchem Kontext steht das denn? Willst du Sequences nachbauen?

02.02.2007 - 11:18 Uhr

Falls Crystal Reports XI vorliegt

Leider Nein, es handelt sich um Version 10.0.3600.0

//Edit: Halt die Version von VS 2005 Prof Ohne SP1

02.02.2007 - 10:21 Uhr

Kennt Ihr ein gutes Buch oder Tutorial über Crystal Reports?

02.02.2007 - 08:24 Uhr

Original von Borg
Du kannst doch bestimmt alternative Installationsquellen einstellen...

Und zwar in Yast, die oberste Registerkarte (heißt glaub ich System), und dann müsste es direkt einen Eintrag "Installationsquelle wechseln" geben...

02.02.2007 - 08:21 Uhr

Aber was ist denn das Problem dabei? Das Programm soll doch sicher am Ende auf einem Rechner mit englischen Spracheinstellungen laufen (wenn nicht, warum dann das Prgramm in Englisch?), dann hat sich das Problem erledigt.

Ansonsten sehe ich da wenig Chancen, weil das Framework die Fehlertexte aus den Frameworkeigenen Resourcen ausliest, wie der .NET-Reflektor beweist.

02.02.2007 - 08:15 Uhr

noch was, was mir aufgefallen ist:
Der Code funktioniert nur dann korrekt, wenn man die Shifttaste gedrückt hält zumindest bis das DragEnter-Ereignis behandelt wird. Da du aber ja sowieso nur entweder Move oder Copy erlaubst annst du auch e.AllowedEffect auswerten, die beste Variante sind meiner Meinung nach aber wieder DataObjects, die du dann unterschiedlich benennen kannst (Das hat den Vorteil, das dein Prgramm nicht durcheinander kommt, außerdem kann es dir nicht passieren, dass ein anderes Programm auch Drag-Drop mit DataGridViewSelectedRowCollections unterstützt und e.Data dann ganz andere Daten enthält, mit denen du nichts anfangen kannst und entweder Mist oder Fehler rausommen)

02.02.2007 - 08:08 Uhr

Mit der rechten Maustaste ist Drag&Drop (wie in Windows) überhaupt kein Thema, aber bei der linken Maustaste hörts dann auf.......

normalerweise funktioniert Drag&Drop in Windows doch immer mit der linken Maustaste, falls das bei dir nicht so ist hast du wahrscheinlich die Maustasten vertauscht, in dem Fall wird beim Click auf die rechte Maustaste aber doch trotzdem das MouseClickEreignis für MouseButtons.Left ausgeführt, oder?

Generell gefällt mir Drag&Drop mit DataObjects aber besser, also indem man statt

dgv.DoDragDrop(dgv.SelectedRows, DragDropEffects.Copy);

eben halt

dgv.DoDragDrop(new DataObject("RowCollection",dgv.SelectedRows), DragDropEffects.Copy);

dann aber auch

e.Data.GetDataPresent("RowCollection")

schreibt

Ein Umweg ist das nicht, weil intern sowieso ein DataObject erstellt wird, aber über diesen Weg weißt du, unter welchem Alias deine Daten gespeichert sind.

01.02.2007 - 15:54 Uhr

Hinter ((I1)o) könnte sich auch theoretisch ein Verweistypobjekt verstecken, daher wird nicht auf eine Kopie, sondern auf das tatsächliche Objekt zugegriffen.

Alles andere wäre auch Entwicklertechnisch gesehen Blödsinn, weil dann der praktiche Nutzen von Schnittstellen-implementierenden Strukturen gleich Null wäre, und damit das ganze Konzept von Schnittstellen auseinanderbrechen würde, weil du nie weißt, ob du nu mit dem Objekt oder nur mit der Kopie arbeiten würdest, bzw. wenn du's rausgekriegt hast (z.B. über Typvergleich mit ValueType) kannst du dich dann freuen, das du rausgekriegt hast, warum dein Code nicht funktioniert 😁

01.02.2007 - 11:02 Uhr

naja, zu jeder Spalte wird noch (in einer anderen Spalte der Tabelle) gespeichert, wer die Daten in dieser Spalte zuletzt geändert hat (und zwar für jede einzelne Zelle).
Insofern geht die Variante DataSet->DataAdapter nicht. Außerdem hatte ich vor, dass die Leute dann nicht mal meine Datenbankstruktur kennen müssen, sondern von Assistenten geleitet werden.

01.02.2007 - 09:43 Uhr

Hallo,

ich habe ein Datenbankprogramm, was aus mehreren Gründen fast ohne ADO.NET arbeitet, möchte nun aber eine Vorlage für eine Eingabemaske erstellen. Die Eingabemasken sollen von Leuten erstellt werden, die derzeit mit Acess arbeiten und eigentlich keine Ahnung von .NET, aber (paradoxerweise) VS Prof zur Verfügung haben.

Deshalb war mein Ansatz eine Komponente zu bauen, die die Erstellung eines Eingabeformulars vereinfacht, indem man zur Entwurfszeit über Eigenschaften jeder Spalte ein Control zuweist, dessen TextEigenschaft dann verwendet wird um die Eingabe zu realisieren.

Das Problem dabei ist, dass diese Eigenschaften dynamisch generiert werden müssten.

Ich hatte schon die Idee, das über IExtenderProvider zu versuchen, wobei die Komponente sich selbst erweitert, und das nur, wenn der Designer weiß, welche Spalten zur Verfügung stehen, aber das würde bedeuten, dass ich der Klasse dynamisch Attribute und Methoden hinzufügen müsste.

Der nächste Weg, den ich mir derzeit vorstellen könnte wäre die dynamische Erstellung einer Extraklasse samt Typenconverter, mit deren Eigenschaften man dann die einzelnen Steuerelemente auswählen kann (Darum kümmert sich ja dann schon Visual Studio), das Problem daran ist der ziemlich gewaltige Codeaufwand und die Codeerstellung während der Entwurfszeit scheint mir ziemlich heikel.

Irgendwann sind mir dann mal die Visual Data Tools eingefallen, die ja zur Entwurfszeit Code generieren, und ich wollte per Reflektor gucken, wie dass eigentlich geht, aber die Assembly, auf die da verwiesen wird, kann ich nirgendwo finden (Microsoft.VSDesigner v8.0), und der Blick in Version 7 macht insofern wenig Mut, als das die wirklich interessanten Klassen in einer noch ganz anderen Assembly stehen (Die unter dem Namen auch nur in Version 7.1 verfügbar ist)

29.01.2007 - 11:04 Uhr

Naja, kleines Programm schreiben was alle Quellcodedateien zusammenfügt und in eine Datei schreibt (dürfte ja nicht das Problem sein) und dann in einem Texteditor != Word öffnen...

29.01.2007 - 09:20 Uhr

nee, noch nicht...

25.01.2007 - 10:24 Uhr

hallo zusammen,

Ich habe in letzter Zeit gehäuft das Problem, das Visual Studio in der Entwurfsansicht bei meinen selbst definierten Steuerelementen (besonders die vererbten Formulare) häufig mal krachen geht . Nach dem Öffnen der Projektmappe ist noch alles OK, alles startet ordnungsgemäß und genau so, wie man es sich halt wünscht. Aber nach einem erneuten Öffnen des Designers verabschiedet dieser sich mit den Worten AssemblyLoadException und das ich das Exceptionobjekt, was ich aber nirgendwo finde zumal sich auch kein Debugging-Fehlerfenster öffnet.

Woran kann das liegen, bzw. was kann man da machen (Quellcode ist absolut i.O., zur Laufzeit tritt nie irgendwie ein Fehler auf)?

15.01.2007 - 14:27 Uhr

trackbar1.TickFrequency=45 (Darstellung)