[Delphi] ShowMessage a MessageBox

0

witam ;]

mam taki kawalek kodu w programie:

  msgbox := TStringList.Create;
  cmd := Copy(msg, 0, 2);
  if cmd = '-1' then
    begin
      Explode(msg, '~', msgbox);
      ShowMessage(msgbox[1]);
    end;

i dziala, jak przyjdzie string, sprawdza 2 pierwsze znaki, jak to sa "-1" to dzieli string przez "~" i wyswietla 2 czesc, czyli tresc komunikatu, ale... chce np. dodac tytul, zmienic ikone itd ;] wiec uzywam funkcji MessageBox i kod wyglada tak:

  msgbox := TStringList.Create;
  cmd := Copy(msg, 0, 2);
  if cmd = '-1' then
    begin
      Explode(msg, '~', msgbox);
      Application.MessageBox(msgbox[1], msgbox[2], MB_OK or MB_ICONERROR);
    end;

to juz nie dziala... blad:

[Error] Unit1.pas(60): Incompatible types: 'String' and 'PAnsiChar'

ktos wie o co chodzi? :P

0

Tak. O niekompatybilne typy. Próbujesz przekazać String w argumencie, w którym funkcja oczekuje PAnsiChar (a konkretnie w dwóch argumentach)

0

po prostu napisz:

 Application.MessageBox(PAnsiChar(msgbox[1]), PAnsiChar(msgbox[2]), MB_OK or MB_ICONERROR);
0

dziala, thx :)

0

chlopie wez sie za jakis podstawowy kurs delphi albo kub sobie ksiazke a nie z kazda pierdala lecisz na forum ! :-[

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