AGB  ·  Datenschutz  ·  Impressum  







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

Pointer nach array of Byte

Ein Thema von Gast · begonnen am 11. Jan 2003 · letzter Beitrag vom 12. Jan 2003
Antwort Antwort
Gast
(Gast)

n/a Beiträge
 
#1

Pointer nach array of Byte

  Alt 11. Jan 2003, 21:21
Hi, wie kann ich Pointer nach array of Byte konventieren?

Da ich

Code:
type
MeinBuf : array of Byte;
nicht benutzen kann, habe ich in meine procedure MeinBuf:array of Byte eingefügt.

Ich zeig mal einen Ausschnitt aus meinem quelltext:

Code:
procedure Test (MeinBuf : array of Byte)
var
P : Pointer;
B : Byte;
begin
MeinBuf := P; // Hier ist mein Problem
B := buf[24]+(buf[25] shl 8)+buf[26];
end;
[/code]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 11. Jan 2003, 21:32
Moin Tillmann,

erst einmal herzlich willkommen.

Eine Typdeklaration wird nicht mit : sondern mit = zugewiesen.

Delphi-Quellcode:
type
  MeinBuf = array of Byte;
Wenn Du es dann so machst:

Delphi-Quellcode:
procedure Test(MB : MeinBuf);

var
  P : Pointer;
  
begin
  MB := P;
end;
dann funktioniert's (wobei mir im Moment ein Rätsel ist, was das soll , aber wird wohl am beispielhaft gewählten Ausschnitt liegen)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#3
  Alt 11. Jan 2003, 21:46
Ja, vielen dank, dieser code ist eine vorgabe von einer delphicomponente, aber ich kann diesen nicht benutzen, da ich einen anderen compiler benutze, desswegen wollt ich fragen ob es noch ne andere möglichkeit als mit type gibt.

Wenn ich das array of in eine procedur tue, dann klappt es. Hättest du sonst noch eine idee?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 11. Jan 2003, 22:28
Moin Tillman,

im Moment leider nicht, bzw. was ich mir überlegt habe funktioniert nicht wie gewünscht

Zum einen: Was soll genau passieren?
Zum anderen: Wieso kannst Du ein dynamisches Array aufbauen, aber keinen Typ eines dynamischen Arrays erstellen? Was ist das für ein Compiler?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#5
  Alt 12. Jan 2003, 09:09
Ganz einfach: ich habe den C++Builder2 von Borland worin ich auch delphi componenten installieren kann und pascal units kann ich auch in mein proggy mit einfügen, vielleicht hilft es dir ja, wenn ich dir einen kleinen teil der compo schicke, die ich verwenden will, ich kann sie halt nur nicht verwenden, da mein builder unter

type
Buf = array of Byte;

nen fehler anzeigt das er [ erwartet(er kennt kein dynamisches array)

aber das komische an der sache ist, unter var kann ich auch nicht buf:array of Byte benutzen, aber wnen ich das in ne procedure setze geht das...

Hier mal mein code

Code:
type
  ByteArray = array of Byte; //Mein Prob
private
 FData:Pointer;


procedure Laden;
var
   buf: ByteArray;
begin
buf := ByteArray(nil);
buf := ByteArray(FData);

BPP       := buf[12];
DataSize  := buf[14] + (buf[15] shl 8) + (buf[16] shl 16) + (buf[17] shl 24);

...

end;
PS: Schönes Forum und danke für deine mühe
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 12. Jan 2003, 09:59
Moin Tillmann,

das ist als Typangabe in der Prozedur auch kein dynamisches Array, sondern ein offener Array Parameter (unter dem Stichwort könnte auch die Hilfe von C++ etwas hergeben).
Das heisst, es kann ein beliebig grosses, statisches (!), Array übergeben werden.

Wenn ich nicht sehr irre, sind der C++ Builder 2 und Delphi 3 ungefähr zeitgleich erschienen, und D3 kennt auch keine dynamischen Arrays (wie wir hier gerade letzte Woche feststellen konnten).

Um an dynamische Arrays zu kommen heisst's dann also selberbasteln und verwalten
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#7
  Alt 12. Jan 2003, 12:59
hm... schade, aber vielen dank, muss ich mir meine componente halt in c++ übersetzen.
  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 09:17 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