Rzutowanie dyn. tablicy na własny typ, lub przekazanie własn

Odpowiedz Nowy wątek
2007-01-10 16:04
0

Zabrakło mi tematu :)

Mam pytania 2.

Mam swój własny typ:

TArrayOfString = array of string;

Pyt 1.
Jak zrzutować array of string na TArrayOfString?
Gdy robię:

var
  tab: array of string;
begin
  procedura(TArrayOfString(tab))
end;

dostaję invalid typecast. Gdy robię przez operator as, dostaję, że opreator not applicable.

Pyt 2.
Jak przekazać własny typ tablicowy bezpośrednio do parametru procedury?
Tzn.

procedure JakasProcedura(tab: TArrayOfString = nil);

Chcę wywołać ją tak np:

 JakasProcedura(['Wartosc1', 'Wartosc2']);

Żeby nie tworzyć nowej zmiennej. Ale dostaję komunikat, że ordinal type required

Pozostało 580 znaków

2007-01-10 23:56
0

skoro masz wlasny typ TArrayOfString to czemu nie zdeklarujesz zmiennej w ten sposob?

var
  Tab: TArrayOfString;
begin
  procedura(Tab); // bez rzutowania..
end;

a z tym drugim sprobowac mozesz w ten sposob:

procedure JakasProcedura(Args: array of const);

ale nie gwarantuje, ze bedzie dzialac ^^

Pozostało 580 znaków

2007-01-10 23:58
0
  1. po to stworzyłeś własny typ, żeby go używać
  2. z dynamicznymi taki numer nie przejdzie

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2007-01-11 00:03
nav
0

Fragment mojego programu, gdzie też miałem z tym problem:

// Bo delphi jest powalone....
function ble(vars:Array of integer):TBle;
var
  i: integer;
begin
  Setlength(Result, length(vars));
  for i:=0 to high(vars) do
    Result[i]:=vars[i];
end;
//bo delphi jest powalone....

Innej metody chyba nie ma :/


utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2007-01-11 00:14
0

nav bo poto możesz włąsne typy tworzyć, żeby nie było takich kfiatuw function ble(vars:Array of integer):TBle;


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0