Delphi Component Array?

Tags:    delphi

<< < 12 > >>
Hey, ved ikke rigtigt om det er et array, men tror det er noget alá det.

Mit problem er, at i Visual Basic 6 kan man gøre dette, tror det kaldes Index. (Eksemplet er med WinSock):
Fold kodeboks ind/udKode 


Dette vil jeg gerne kunne gøre i Delphi, nogen som har nogle ideer?

Har fundet på et andet eksempel
I Visual Basic, ser Winsock.dataArrival proceduren således ud:
Fold kodeboks ind/udKode 


I Delphi ser den således ud:
Fold kodeboks ind/udKode 


Hvad jeg har brug for, er Index as Integer, som er i VB6. Ved bare ikke hvordan jeg skal få den i Delphi.
- Moller



Indlæg senest redigeret d. 05.08.2008 23:48 af Bruger #14050
12 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Hvis det er en array, burde det gerne se sådan her ud
Fold kodeboks ind/udKode 




Er det bare et array du vil have?

Eller er det en klasses property du vil lave array indekseret?

I så fald gøres det således:

TTest = class
function GetProp(index: integer): string;
procedure SetProp(index: integer; value: string);
property Prop[index: integer]: string read GetProp write SetProp;
end;



Er det bare et array du vil have?

Eller er det en klasses property du vil lave array indekseret?

I så fald gøres det således:

TTest = class
function GetProp(index: integer): string;
procedure SetProp(index: integer; value: string);
property Prop[index: integer]: string read GetProp write SetProp;
end;

Hvordan virker den kode?
Det jeg vil have den til, er at "lave" en Index property, til Winsock, ligesom i VB6.

Hvis det er en array, burde det gerne se sådan her ud
Fold kodeboks ind/udKode 

Mit eksempel var i VB6, ved godt dette ikke er korrekt Delphi.



Indlæg senest redigeret d. 05.08.2008 23:57 af Bruger #14050
Dit eksempel giver ikke voldsomt meget mening. hvad skal indexet indeksere? Sockets? porte?



Det skal indeksere sockets.
Et eksempel fra en VB6 kode:
Fold kodeboks ind/udKode 


a er long/integer.

I eksemplet bruger de a i socket array.

Da a allerede er en værdi, må sockets jo også være en array, men det er et komponent.
Jeg vil gerne kunne gøre det samme i Delphi, men ved ikke hvordan, da Winsock komponentet i Delphi ikke har propertien Index, hvilket VB6 versionen har.



Indlæg senest redigeret d. 06.08.2008 01:32 af Bruger #14050
er du sikker på at det er det samme komponent du bruger?

Ellers kunne du jo lave et array af winsock sockets:

var Sockets: array of TWinsock;
eller noget i den retning. Jeg er ikke sikker på om det er det du vil have



Ja, jeg bruger Winsock.ocx i begge eksempler, altså Delphi og VB6.
Hvis jeg laver at array af winsock sockets, vil den så blive brugt ligesom i VB6 eksemplerne? Hvis du forstår hvad jeg mener.

Jeg prøver at lave noget VB6 om til Delphi, så jeg vil gerne vide den bedste og nemmeste måde, så kunne nogen vise mig hvordan de ville lave eksemplet i Delphi?

Og det her er problemet:
http://img507.imageshack.us/img507/9711/delphiindexwa4.jpg



Indlæg senest redigeret d. 06.08.2008 11:25 af Bruger #14050
hvorfor står der socket(0) i object inspectoren for dit vb vindue? Har du erklæret et array af sockets i din vb kode?

Har du prøvet bare at bruge winsock1[0] i delphi koden? Det kan jo være at delphi komponentet har fået en default property der mapper til index



Hvis jeg ikke tager fejl, laver VB6 et array automatisk, hvis du skriver socket(0).

Har prøvet i Delphi, virkede ikke desværre.



aha. Det er ikke noget du på en smart måde kan lave. Har du et fast antal sockets?



<< < 12 > >>
t