AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 2006 .net

Ein Thema von fordka · begonnen am 20. Dez 2006 · letzter Beitrag vom 20. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
fordka

Registriert seit: 20. Dez 2006
17 Beiträge
 
#1

Delphi 2006 .net

  Alt 20. Dez 2006, 09:23
Hallo,

ich habe gerade angefangen mich in Delphi anzu arbeiten. Mein Problem liegt derzeit darin, das ich ein bestehendes Projekt von delphi7 nach Delphi 2006 (net) bringen muss.

Meine Frage:

Wie gehe ich mit Pointer um, gibt es eine einfache Möglichkeit diese irgendwie um zuwandeln?


Für eine schnelle Hilfe wäre ich sehr dankbar.


Gruß Fordka
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:28
Bevor du dich jetzt ins Unglück stürzt: Wieso soll ein bestehendes Projekt nach .NET gewandelt werden und mit VCL.NET weiterentwickelt werden. Steckt da mehr dahinter als das man nun .NET machen will? Ist dann überhaupt der VCL.NET-Ansatz der richtige weg.

Zitat:
Wie gehe ich mit Pointer um, gibt es eine einfache Möglichkeit diese irgendwie um zuwandeln?
Welches Problem hast Du konkret. Es gibt nicht die Lösung. Entweder muss (bei DLL's) die Importangabe angepaßt werden oder es muss für manche Probleme komplett eine ander Lösung gefunden werden (File of XYZ)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fordka

Registriert seit: 20. Dez 2006
17 Beiträge
 
#3

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:46
Hallo,

Das bestehende Projekt soll in .Net weiter entwickelt werden. (Vorgabe vom Kunden). In dem Projekt sind Pointer und die mag Delphi ja nun nicht mehr. Ich soll einfach versuchen alle Fehler zu beheben die auftretten wenn das programm in Delphi 2006 gestartet wird.

Ich habe leider keine Ahnung was ich mit den Pointern machen soll.

Gruß Fordka


P.S. Ich bekomme folgende Fehlermeldung:

[Pascal Fehler] uKonfiguration.pas(277): E2410 Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:49
Zitat von fordka:
Das bestehende Projekt soll in .Net weiter entwickelt werden. (Vorgabe vom Kunden).
Auch wenn es Kundenvorgabe ist: Welche Vorteile verspricht er sich davon. Es geht auch darum das Du/der Kunde nicht etwas von einer .NET-Lösung erwartet, die man mit einem (VCL).NET- (Oder auch WinForms-)Programm nicht erreichen kann.

Zitat von fordka:
In dem Projekt sind Pointer und die mag Delphi ja nun nicht mehr. Ich soll einfach versuchen alle Fehler zu beheben die auftretten wenn das programm in Delphi 2006 gestartet wird.
Beispiele?

Falls Du 3th-Party-Komponenten hast: Gibt es davon eine VCL.NET-Version.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#5

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:52
Ein Pointer ist ja ein Zeiger auf irgendeine Struktur (Record, Objekt, Funktion etc.).

Du ersetzt einfach jeden verwendeten Pointer durch eine Referenz auf die jeweilige Struktur und that's it.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
fordka

Registriert seit: 20. Dez 2006
17 Beiträge
 
#6

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:54
Hallo,

Es wohl so das über diesen weg eine Plattformunabhängigkeit erreicht werden soll. Ich bin auch nur Angestellt und mach was mir gesagt wird.

Ja wie gesagt ich bekomme eine Fehlermeldung:
[Pascal Fehler] uKonfiguration.pas(277): E2410 Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig

und mit dieser kann ich nicht viel Anfangen.

Mir geht es darum welche Alternative habe ich wenn ich keine Pointer mehr verwenden kann?

Sorry, habe leider wenig Ahnung vom Projekt ( habe gerade erst angefangen) und noch weniger von Delphi
  Mit Zitat antworten Zitat
fordka

Registriert seit: 20. Dez 2006
17 Beiträge
 
#7

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 09:55
Zitat von Phoenix:
Ein Pointer ist ja ein Zeiger auf irgendeine Struktur (Record, Objekt, Funktion etc.).

Du ersetzt einfach jeden verwendeten Pointer durch eine Referenz auf die jeweilige Struktur und that's it.

Kannst Du mir das ein wenig genauer erklären?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#8

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 10:02
Zitat von fordka:
Es wohl so das über diesen weg eine Plattformunabhängigkeit erreicht werden soll. Ich bin auch nur Angestellt und mach was mir gesagt wird.
Die werdet ihr mit der VCL.net garantiert nicht erreichen können. Das nur so zur Info.

Zitat von fordka:
Ja wie gesagt ich bekomme eine Fehlermeldung:
[Pascal Fehler] uKonfiguration.pas(277): E2410 Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
Da steht doch schon alles wichtige drin. In der uKonfiguration.pas wird in der Zeile 277 ein nicht Typsicherer Wert übergeben.

Du musst herausfinden, auf was für ein Objekt dieser Pointer zeigt und musst ihn dann in eine Refenz auf eben dieses Objekt umwandeln.

Beispiel:

Delphi-Quellcode:
var
  X, Y: Integer;// X und Y sind Integer-Variablen
  P: ^Integer; // P zeigt auf einen Integer
begin
  X := 17; // Einen Wert an X zuweisen
  P := @X; // Adresse von X an P zuweisen
  Y := P^; // P dereferenzieren; Ergebnis an Y zuweisen
end;
Wird zu:
Delphi-Quellcode:
var
  X, Y: Integer;// X und Y sind Integer-Variablen
  P: Integer; // P nun selber als Integer deklarieren
begin
  X := 17; // Einen Wert an X zuweisen
  P := X; // wert kopieren
  Y := P; // wieder kopieren
end;
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 10:04
Hallo,
Zitat von fordka:
Es wohl so das über diesen weg eine Plattformunabhängigkeit erreicht werden soll. Ich bin auch nur Angestellt und mach was mir gesagt wird.
Mit VCL .Net kannst Du die Plattformunabhängigkeit aber vergessen. Intern baut die komplett auf dem Win32-API auf. Du müsstest schon die VCL durch Winforms ersetzen, um von Windows unabhängig zu werden.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Delphi 2006 .net

  Alt 20. Dez 2006, 10:05
Zitat von fordka:
Es wohl so das über diesen weg eine Plattformunabhängigkeit erreicht werden soll. Ich bin auch nur Angestellt und mach was mir gesagt wird.
Und dann VCL.NET. Kannst deinen Chef sagen das mit der VCL.NET genau dies nicht erreicht werden kann.
Die VCL.NET basiert immer noch auf der Win32-API. Es soll zwar irgendwann mal eine VCL für Avalon und für das Compact Framework geben. Aber wollt ihr euch auf sowas verlassen?

Wenn ihr Plattformunabhängigkeit jetzt haben wollt heißt es alles neu zu implementierung und zwar entweder:

- Unter Java
- Unter .NET und gegen das Mono-Framework testen
- Verwendung von C++ und QT


Zitat von fordka:
Ja wie gesagt ich bekomme eine Fehlermeldung:
[Pascal Fehler] uKonfiguration.pas(277): E2410 Unsichere Zeigervariablen, Parameter oder Konstanten sind nur in unsicheren Prozeduren zulässig
Zeig mal den Codeauschnitt dazu.

Zitat von fordka:
Sorry, habe leider wenig Ahnung vom Projekt ( habe gerade erst angefangen) und noch weniger von Delphi
Ob das der Sinnvolle Ansatz ist?
Von Delphi solltest Du schon für eine Portierung Ahnung haben. Alles neu lernen (Delphi, .NET und Fachwissen) kann eigentlich nur scheidern da du vermutlich in allen Fällen fehler machen wirst. Gibts keine anderen Projektmitglieder die du fragen kannst?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:50 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