Avatar billede blomme Nybegynder
19. december 2000 - 17:40 Der er 3 kommentarer og
1 løsning

Kodeerstatning af {$R *.DFM}

Hej :)

Efter IMPLEMENTATION, inkluderer programmet form-data med {$R *.DFM}. Men... da jeg er sådan en, som altid VIL gøre tingene på den \'svære\' måde, kunne jeg godt tænke mig selv at definere form1´s properties i stedet for at lade en dfm-fil gøre det. Derfor skal {$R *.DFM} jo væk, men... hvordan ?
Avatar billede pstric Nybegynder
19. december 2000 - 17:51 #1
Hmmm, er du virkelig sikker på at det er det du vil? Hele idéen med Delphi er jo, at du bruger det som RAD. Men hvis du virkelig mener det, så skal jeg da gerne lave et lille program, der kan anskueliggøre for dig, hvor forkert din tankegang er.
Avatar billede pstric Nybegynder
19. december 2000 - 18:13 #2
program NonVCL;

uses
  Messages, Windows;

const
  AppName: array[0..5] of Char = \'blomme\';

function WndProc(HWnd: HWND; Msg: UINT;
  wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  case Msg of
    WM_DESTROY:
      begin
        PostQuitMessage(0);
        Result := 0;
      end
    else
      Result := DefWindowProc(HWnd,Msg,WParam,LParam);
  end;
end;

var
  WClass: TWndCLass;
  Handle: HWND;
  Msg: TMsg;
begin
  with WClass do
  begin
    style := CS_VREDRAW or CS_HREDRAW;
    lpfnWndProc := @WndProc;
    cbClsExtra := 0;
    cbWndExtra := 0;
    WClass.hInstance := HInstance;
    hIcon := LoadIcon(HInstance,IDI_APPLICATION);
    hCursor := LoadCursor(HInstance,IDC_ARROW);
    hbrBackground := GetStockObject(WHITE_BRUSH);
    lpszMenuName := nil;
    lpszClassName:= @AppName;
  end;
  RegisterClass(WClass);
  Handle := CreateWindow(@AppName,\'Hej blomme!\',
    WS_OVERLAPPEDWINDOW,
    LongInt(CW_USEDEFAULT), LongInt(CW_USEDEFAULT), LongInt(CW_USEDEFAULT), LongInt(CW_USEDEFAULT),
    0,0,HInstance,nil);
  ShowWindow(Handle,SW_NORMAL);
  UpdateWindow(Handle);
  while GetMessage(Msg,0,0,0) do
  begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
  end;
end.


Hvis du synes, at det er sjovt, så bare gå i gang.

Mit råd er: Lad {$R *.DFM} stå.
Avatar billede blomme Nybegynder
19. december 2000 - 18:20 #3
>Hvis du synes, at det er sjovt, så bare gå i gang.

Hehe, det er lige præcis det jeg synes det er :)
Det skal dog lige gøres klart, at det kun var rent gætværk om det der med at \'fjerne\' {$R *.DFM} - nu ved jeg så at man rent faktisk KAN.
Tak for svaret :D

- Thomas
Avatar billede cms Nybegynder
20. december 2000 - 12:03 #4
pstric eller thomas >>

kunne I ikke tænke jer at deltage i vores Notepad-konkurrence??
den går nemlig ud på at lave et meget lille (så lille som muligt) program, som fungerer og ser ud som, notepad.
størrelsen måles i exe-filens bytes.
og den størrelse bliver jo netop reduceret kraftigt ved at udelade unitet forms osv.

se www.eksperten.dk/spm/37244
eller www.klon.cnt.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester