Entwickler-Ecke
Andere .NET-Sprachen - Einstieg in .NET, Schnittstelle von einer Firma
Bronstein - Mi 18.06.08 21:21
Titel: Einstieg in .NET, Schnittstelle von einer Firma
Hallo,
wir haben Siemens Bestückautomaten in unserem Betrieb. Jetzt bietet Siemens eine .Net-Schnittstelle an, mit der ich Daten aus der Datennbank lesen und schreiben kann.
In einem Siemens Forum steht, man soll die Schnittstelle "SPI" von Siemens verwenden, z.B. mit VB.NET
Ich habe jetzt leider keine Erfahrung mit .NET
Wie fange ich also am besten an?
Wie binde ich diese Option ein?
Gibt es ein geeignetes Tutorial?
Christian S. - Mi 18.06.08 21:29
Meine erste Empfehlung ist, nicht Delphi.NET zu verwenden.
Du kannst inzwischen noch nicht mal mehr WinForms-Anwendungen erstellen (wenn Du nicht auf einen Designer verzichten willst), an allen Ecken und Enden versucht man Win32-Schemata in .NET-Code zu pressen, Delphi.NET hängt bisher immer um Jahre der Entwicklung hinterher und Du schleppst immer irgendwelchen Borland-Code mit Dir rum.
Wenn Du bei einer Pascal-Sprache bleiben willst, schau Dir doch mal
Oxygene [
http://www.remobjects.com/product/?id={DC0A9947-5FED-4D34-8CC8-F2DCFA87A1FE}] an, ansonten ist C# auf jeden Fall eine sehr gute Alternative.
Bronstein - Mi 18.06.08 22:03
Das oxygene kenne ich jetzt gar nicht. Hab ich das richtig verstanden, dass das ein Tool für Visual Studio ist?
Ich möchte aber bei meinem Borland Delphi bleiben!
Christian S. - Mi 18.06.08 22:07
Bronstein hat folgendes geschrieben: |
Das oxygene kenne ich jetzt gar nicht. Hab ich das richtig verstanden, dass das ein Tool für Visual Studio ist? |
Ja, wobei Du eine Standard-Ausgabe vom Visual Studio mit nur Oxygene als Sprache drin dazu bekommst.
Bronstein hat folgendes geschrieben: |
Ich möchte aber bei meinem Borland Delphi bleiben! |
Du willst mit .NET arbeiten. Dafür ist Delphi ungeeignet. Um es mal verkürzt auszudrücken: .NET oder Delphi, beides geht im Moment nicht (wirklich).
Christian S. - Mi 18.06.08 22:27
Ja, sicher. Ich habe auch nicht gesagt, dass Delphi.NET nicht existiert.
Aber es ist ein Unterschied, ob es etwas gibt und ob es sinnvoll ist, etwas einzusetzen. Delphi.NET ist eigentlich nur dann eine Möglichkeit, die man vielleicht mal in Betracht ziehen kann, wenn man eine bestehende Delphi-Anwendung auf .NET portieren will. Und auch dann sollte das nur ein Zwischenschritt sein, um die Anwendung langfristig zu einer "anständigen" .NET-Sprache zu portieren.
Bernhard Geyer - Mi 18.06.08 23:05
Die Frage ist ob "SPI" überhaupt ein .NET-Interface ist oder nur ein "schnödes" COM/OLE-Interface ist das man prima per Delphi.Win32 bedienen kann und der Hinweis auf VB.NET nur da ist weil niemand mehr sich mit VB herumärgern will
Bronstein - Do 19.06.08 12:35
Wenn man die Schnittstelle installiert erscheint schon:
Welcome to Siemens SIPLACE PRO Interface (SPI) .Net
Hier mal ein Code Beispiel aus VB
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| Imports Siemens.SiplacePro.SPI.ComponentModel.Architecture.Interfaces Imports Biz = Siemens.SiplacePro.SPI.ComponentModel.Business.Objects Imports BizInt = Siemens.SiplacePro.SPI.ComponentModel.Business.Interfaces Imports Arch = Siemens.SiplacePro.SPI.ComponentModel.Architecture.Objects
Module Module1 Public session As ISession
Sub Main() session = Siemens.SiplacePro.SPI.ComponentModel.Architecture.Objects.Session.CurrentSession
' Schnellste Möglichkeit auf Existenz eines Objektes zu prüfen Dim boardIdCol As Arch.IdentityCollection boardIdCol = session.GetIdentityList("Board:Board1") Dim countCol As Long = boardIdCol.Count
If (countCol = 0) Then
' Objekt neu erzeugen Dim identBoard As Arch.Identity Dim board As Biz.Board |
alzaimar - Do 19.06.08 12:41
Es ist doch ziemlich einfach:
1. Mit Delphi für Win32 geht es nicht.
2. Delphi.NET ist Schrott
3. Lerne C# (ist eh besser)
Ob Du 2 und 3 beherzigst, ist Dir überlassen. Ich musste 'neulich' mal etwas in C# machen und nach ein paar Tagen hatte ich alles drauf, was ich in Delphi auch kann. Nur ist das nur 10% dessen, was mit C# wirklich machbar ist.
Robert.Wachtel - Do 19.06.08 12:55
Bronstein hat folgendes geschrieben: |
[...] Ich möchte aber bei meinem Borland Delphi bleiben! |
Zusätzlich zu den anderen richtigen Antworten möchte ich nur noch anmerken, dass Du gar nicht weisst, was Du versäumst... ;)
Bronstein - Fr 15.08.08 04:29
Kann mir jemand sagen, wie ich den obigen VB-Code in C# schreibe.
Damit ich den ersten Grundstein habe
Carla - Fr 15.08.08 08:27
[quote="[user]Bronstein
Ich möchte aber bei meinem Borland Delphi bleiben![/quote]
Warum eigentlich klammern sich so viele Delphi Programmierer an dieses Entwicklungssystem ?
Da C# und Delphi den gleichen Vater haben, ist der Umstieg relativ einfach.
Delphi ist einfach eine Einbahnstrasse mit jahrelangen Rückstand und stagnierender Entwicklung.
Das Debuggen ist im Vergleich zu C# eine Zumutung und die Entwicklungsumgebung hat viele nervige Bugs.
Das Framework von Net ist um Größenordnungen mächtiger.
Mir kommt das bei einigen fast wie ein fundamentalistisches Glaubensbekenntnis vor.
Gruß Carla
Robert.Wachtel - Fr 15.08.08 09:49
Bronstein hat folgendes geschrieben: |
Kann mir jemand sagen, wie ich den obigen VB-Code in C# schreibe.
Damit ich den ersten Grundstein habe |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| using Siemens.SiplacePro.SPI.ComponentModel.Architecture.Interfaces using Siemens.SiplacePro.SPI.ComponentModel.Business.Objects using Siemens.SiplacePro.SPI.ComponentModel.Business.Interfaces using Siemens.SiplacePro.SPI.ComponentModel.Architecture.Objects
public class module1 { public ISession session;
public void Main() { session = Siemens.SiplacePro.SPI.ComponentModel.Architecture.Objects.Session.CurrentSession;
Arch.IdentityCollection boardIdCol = session.GetIdentityList("Board:Board1"); long countCol = boardIdCol.Count;
if (countCol == 0) { Arch.Identity identBoard;
Biz.Board board;
[...] |
hth
Moderiert von Christian S.: Code- durch C#-Tags ersetzt
Bronstein - Fr 15.08.08 12:01
Ich bekomme jetzt folgende Meldung:
[C# Fehler] WinForm.cs(7): Der Typ oder Namespace 'Siemens' konnte nicht gefunden werden. Möglicherweise fehlt eine Anweisung oder ein Assemblyverweis.
Bronstein - Fr 15.08.08 12:22
Hallo,
wie kann ich die DLL einbinden. Ich habe den Borland C# Builder und dort eine neue Windows From Anwendung ausgewählt.
Geht das mit diesem überhaupt oder muss ich mir ein anderes Programm herunterladen!
Christian S. - Fr 15.08.08 12:33
Wenn Du jetzt doch C# benutuzen willst, dann lade Dir Visual C# 2008 Express runter. Der C# Builder ist völlig veraltet.
Bronstein - Fr 15.08.08 12:52
Okay, das habe ich heruntergeladen.
Wie kann ich jetzt die DLL einbinden?
alias5000 - Fr 15.08.08 12:55
Ich hab die englische Version, bei mir heißt das rechts im Solution Explorer "References". Dort fügst du die DLL mit ein (Popupmenü)
Gruß
alias5000
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!