Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: C# und .NET ::  Fehler bei anderer Compilierung     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
CJens
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.12.2010
Beiträge: 357
Beitrag CJens Mitglied 11:37:58 19.06.2017   Titel:   Fehler bei anderer Compilierung            Zitieren

Hallo.

Ich habe eine Library geschrieben, mit welcher ich SAP steuern kann. Was genau darin geschieht, ist denke ich erstmal nicht so wichtig.
Mache ich einen Rechtsklick auf das Projekt und klicke "Build", so wird die Bibliothek erstellt. Allerdings kann unser "Roboter" diese Bibliothek dann nicht einbinden.

Deshalb mache ich es über die Kommandozeile:
csc /t:library /out:libname.dll ".../CodeFile1.cs" ".../CodeFile2.cs" /reference: ".../reference1.dll" ".../reference2.dll" /unsafe

Wenn ich über csc kompiliere bekomme ich nun eine Fehlermeldung für folgende Zeile:
C#:
                        for (int i = 0; i < GV.ColumnCount; i++) {
                            if (KeyList.Columns.Contains(GV.GetColumnTooltip(GV.ColumnOrder[i]).ToString().Trim().ToUpper())) //Fehler!
                            {
                                dr[GV.GetDisplayedColumnTitle(GV.ColumnOrder[i]).ToString().Trim().ToUpper()] = true; //Fehler
                            }
                        }


Die Fehlermeldung lautet:
"CS0021: Eine Indizierung mit [] kann nicht auf einen Ausdruck vom Typ object angewendet werden."

Wenn ich statt der eckigen Klammern runde Klammern verwende erhalte ich statt dessen folgende Fehlermeldung:
"Der nicht aufrufbare Member "ISapGridViewTarget.ColumnOrder" kann nicht wie eine Methode verwendet werden."

Das Komische ist nur: Wenn ich den Code in VisualStudio kompiliere (rechtsklick, build) und dann ausführe, läuft er wunderbar und liefert auch korrekte Ergebnisse. Scheinbar ist die Fehlererkennung im zweiten Fall "strenger" eingestellt oder wie kann ich ich das umgehen?

Vielen Dank,
CJens.
GPC
Global Moderator

Benutzerprofil
Anmeldungsdatum: 11.07.2004
Beiträge: 7436
Beitrag GPC Global Moderator 10:44:04 22.06.2017   Titel:              Zitieren

Von welchem Typ ist die ColumnOrder-Eigenschaft, auf die du per Indexer zugreifen willst? Wenn es wirklich Object ist, dann ist es klar, warum eine Fehlermeldung auftritt.

Ansonsten kannst du auch mal schauen, welche Parameter beim Build mit VS an die csc.exe mitgegeben werden. Kann man aktivieren: https://stackoverflow.com ....... ilding-from-visual-studio

_________________
"We're rockstars, not lumberjacks" (Axl Rose about Grunge)
CJens
Mitglied

Benutzerprofil
Anmeldungsdatum: 17.12.2010
Beiträge: 357
Beitrag CJens Mitglied 14:56:18 23.06.2017   Titel:   Typ von ColumnOrder            Zitieren

Hi.

ColumnOrder ist eine StringCollection, wenn ich mich nicht irre. Deshalb kann man dort auch via Index zugreifen.
C++ Forum :: C# und .NET ::  Fehler bei anderer Compilierung   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.