AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Prism Alternative zu Pointern in .net
Thema durchsuchen
Ansicht
Themen-Optionen

Alternative zu Pointern in .net

Ein Thema von SirThornberry · begonnen am 28. Okt 2004 · letzter Beitrag vom 28. Okt 2004
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Alternative zu Pointern in .net

  Alt 28. Okt 2004, 15:04
Unter .Net kann man ja leider keine Pointer verwenden. Gibt es irgendeine alternative? Was macht man beispielsweise wenn eine Api einen Pointer als Buffer erwartet?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Alternative zu Pointern in .net

  Alt 28. Okt 2004, 15:05
Wenn unter .NET keine Pointer nutzbar sind, wird wohl keine .NET-Funktion trotzdem Pointer erwarten..
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Alternative zu Pointern in .net

  Alt 28. Okt 2004, 15:13
Hi,
ich vermute mal Microsoft hat da nicht wirklich daran gedacht, weil es halt unmanaged Code ist.
Alllerdings findest du in der VCL.net im Namespace Borland.Delphi.System den Typ Pointer.

Chris
  Mit Zitat antworten Zitat
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Alternative zu Pointern in .net

  Alt 28. Okt 2004, 15:27
Zitat von SirThornberry:
Was macht man beispielsweise wenn eine Api einen Pointer als Buffer erwartet?
Wenn es sich um ein PChar Buffer zum Beispiel handelt, muss man unter .NET dem Parameter ein StringBuilder übergeben. Ansonsten muss du dir mal die Migrationsanleitungen in der MSDN anschauen.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5

Re: Alternative zu Pointern in .net

  Alt 28. Okt 2004, 15:36
Also.
Zum einen kannst du sehr wohl Zeiger verwenden, und zwar in einem unsicheren (unsafe) Kontext. Ich weiß nicht, wie der unter Delphi eingeleitet wird, in C# kannst du jeden Block, jede Funktion und jede Klasse als unsafe deklarieren und kannst dann drinnen Zeiger benutzen.
Zum anderen, wenn es dir nur um die Verwendung von nicht gemanageten APIs geht, hast du einen guten Freund namens Marshaller. Der sorgt nämlich zum Beispiel dafür, dass der Typ String in const char* oder der Typ StringBuilder in char* umgesetzt wird. Du kannst dir auch mal die Prototypen auf P/Invoke.net anschauen, da kann man auch schon was bei lernen. Und schließlich halt mal im SDK unter Migration bzw. "Zusammenarbeit mit nicht verwaltetem Code" nachschauen.

Managed DirectX ist übrigens ein erstklassiges Beispiel für eine API, die sowohl mit Zeigern als auch ohne verwendet werden kann. Einfach mal reinschauen.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz