Einstieg in .NET, Schnittstelle von einer Firma
spacer
Autor Nachricht
Bronstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: Mi 18.06.08 21:21 
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?

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler
Beiträge: 18448
Erhaltene Danke: 637

Win 7
C# (VS 2010)
BeitragVerfasst: 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 an, ansonten ist C# auf jeden Fall eine sehr gute Alternative.

_________________
Physics is a bitch.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: 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!

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler
Beiträge: 18448
Erhaltene Danke: 637

Win 7
C# (VS 2010)
BeitragVerfasst: 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).

_________________
Physics is a bitch.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: Mi 18.06.08 22:23 
Es werden doch aber Schulungen zu Delphi .Net angeboten. Beispiel:
www.lp-it.de/schulun...hi.net-schulung.php3

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler
Beiträge: 18448
Erhaltene Danke: 637

Win 7
C# (VS 2010)
BeitragVerfasst: 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.

_________________
Physics is a bitch.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 713



BeitragVerfasst: 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
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: 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
ausblenden Quelltext markieren
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

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: 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.

_________________
Na denn, dann. Bis dann, denn.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: 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... ;)
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: 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

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Carla
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: 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
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: 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


ausblenden C#-Quelltext markieren
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;

    // Schnellste Möglichkeit auf Existenz eines Objektes zu prüfen
    Arch.IdentityCollection boardIdCol = session.GetIdentityList("Board:Board1");
    long countCol = boardIdCol.Count;

    if (countCol == 0)
    {
      // Objekt neu erzeugen
      Arch.Identity identBoard;

      Biz.Board board;

[...]


hth

Moderiert von Christian S.: Code- durch C#-Tags ersetzt
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: 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.

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 2144

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Fr 15.08.08 12:07 
Robert hat das ja nicht Copy&Paste fertig gemacht. Zusätzlich musst du in deinem Projekt natürlich auch die entsprechende Assembly (*.dll) einbinden.

Um C# an sich zu lernen oder sich mal Stichwortartig drin langzuhangeln, gibts viele Medien online. Z.B. das Openbook C# oder das Openbook Visual C#.

...und natürlich auch das C-Sharp-Forum der EE: www.c-sharp-forum.de ;)

Gruß
alias5000

_________________
Programmers never die, they just GOSUB without RETURN
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: 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!

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler
Beiträge: 18448
Erhaltene Danke: 637

Win 7
C# (VS 2010)
BeitragVerfasst: 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.

_________________
Physics is a bitch.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Bronstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 564

WIN XP
Delphi 6
BeitragVerfasst: Fr 15.08.08 12:52 
Okay, das habe ich heruntergeladen.


Wie kann ich jetzt die DLL einbinden?

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 2144

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: 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

_________________
Programmers never die, they just GOSUB without RETURN
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home