Guys,
coba lihat program di bawah itu.
Ada pemakaian variabel hPrevInst tapi gak ada deklarasinya.

Kok bisa jalan ya?? Bingung nih ... ^^;

BTW, hasil EXE-nya cuma 7 Kb ya ... jauh sekali dibanding kalo pake TForm
(200++ Kb).

Salam,
Sintar.

==============

{*******************************************************}
{ Platform    : 32Bit Windows                           }
{ Compiler    : Delphi 2, 3, 4, 5, 6                    }
{                                                       }
{ Description : Generic Object Pascal Application       }
{ Copyright   : � 2002 Thomas Bigler                    }
{                                                       }
{*******************************************************}

{$A+,B-,C-,D-,E-,F-,G+,H+,I-,J+,K-,L-,M-,N-,O-,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y-
,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
{$HINTS ON}
{$WARNINGS ON}

PROGRAM Generic;
USES Windows,Messages;
{$r GenericX.res}

CONST
  AppName='Delphi-Generic';
  ClsName='DelphiGenericCls';

  cm_New    = 101;
  cm_Open   = 102;
  cm_Save   = 103;
  cm_SaveAs = 104;
  cm_About  = 901;
  cm_Close  = 199;


FUNCTION DProc(D:HWND;Msg:UINT;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;
BEGIN
  DProc:=1;
  CASE MSG OF
    wm_InitDialog :
      BEGIN
        SetClassLONG(D,GCL_HICON,LoadIcon(hInstance,'i'));
        SetWindowText(d,'Input Dialog Example');
        exit;
      END;
    wm_Command :
    CASE LoWord(Wparam) OF
      idOK,id_Cancel :BEGIN EndDialog(D,wparam);exit;END;
    END;
  END;DProc:=0;
END;

PROCEDURE Paint(w:hwnd);
VAR
  DC: hDC;
  ps: TPaintStruct;
  r : TRect;
  i : Integer;
  s : ARRAY[0..4000] of char;
  fh: HFont;
BEGIN
  DC:=BeginPaint(w,ps);GetClientRect(w,r);
  inc(r.left,8);inc(r.top,8);dec(r.bottom,8);dec(r.right,8);
  framerect(dc,r,GetStockObject(Gray_BRUSH));
  inc(r.left,4);inc(r.top,4);dec(r.bottom,4);dec(r.right,4);

SetBkMode(dc,transparent);SetTextColor(dc,$00ff0000);SetBkColor(dc,$00c0c0c0
);
  lStrCpy(s,#0);
  FOR i:=0 to 100 DO lStrCat(s,'Hello world, this is Delphi-Generic! ');

  fh:=Createfont(-14,0,0,0,400,0,0,0,Ansi_Charset,Out_Default_Precis,
  clip_Default_Precis,Draft_Quality,variable_Pitch OR ff_swiss,'Tahoma');
  fh:=SelectObject(dc,fh);

  DrawText(DC,s,-1,r,
  DT_WordBreak or DT_EXPANDTABS or DT_NOPREFIX or DT_TABSTOP or
MakeWord(0,14));

  DeleteObject(SelectObject(dc,fh));
  EndPaint(W,ps);
END;

FUNCTION
WindowProc(W:HWND;Msg:UINT;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;
BEGIN
  WindowProc:=0;
  CASE Msg OF
    WM_Paint: Paint(w);
    WM_Keydown:
      IF (GetKeyState(vk_Control)<0) THEN BEGIN    // additional
accelerators...
        CASE LoWord(wParam)  OF
          Ord('N') : SendMessage(w,wm_Command,cm_New,0);
          Ord('O') : SendMessage(w,wm_Command,cm_Open,0);
          Ord('S') : SendMessage(w,wm_Command,cm_Save,0);
        END;
      END ELSE BEGIN
        CASE LoWord(wParam) OF
          vk_F1 : SendMessage(w,wm_Command,cm_About,0);
        END;
      END;
    WM_Command:
      CASE LoWord(WParam) OF
        cm_New    : DialogBox(HInstance,'INPUT',w,@DProc);
        cm_Open  ,
        cm_Save   ,
        cm_SaveAs : MessageBox(w,'Not implemented.',AppName,mb_Iconhand or
mb_OK);
        cm_About  : MessageBox(w,AppName,'Info',mb_IconInformation or
mb_OK);
        cm_Close  : SendMessage(w,wm_Close,0,0);
      END;
    WM_Destroy: PostQuitMessage(0);   // important!
    ELSE WindowProc:=DefWindowProc(W,Msg,wParam,lParam);
  END;
END;

PROCEDURE WinMain;
CONST
  WndClas: TWndClassEx=(
    cbSize:0; style:0;  lpfnWndProc:@WindowProc; cbClsExtra:0; cbWndExtra:0;
hInstance:0;
    hIcon:0; hCursor:0; hbrBackground:0; lpszMenuName:AppName;
lpszClassName:ClsName; hIconsm:0);
VAR
  Window:hwnd;
  Msg: TMsg;
  Accs:THandle;
BEGIN
  IF hPrevInst=0 THEN BEGIN
    WndClas.cbSize:=Sizeof(TWndClassEx);
    WndClas.Style:=cs_HRedraw or cs_VRedraw;
    WndClas.lpfnWndProc:[EMAIL PROTECTED];
    WndClas.hInstance:=HInstance;
    WndClas.hIcon:=LoadIcon(hinstance,'i');
    WndClas.hCursor:=LoadCursor(0, IDC_Arrow);
    WndClas.hbrBackground:=GetStockObject(white_brush);
    WndClas.lpszMenuName:='MENU_1';
    WndClas.lpszClassName:=clsName;
    IF RegisterClassEx(WndClas)=0 THEN Halt(255);
  END;

  Window:=CreateWindowEx($200,clsName,AppName,ws_OverlappedWindow,
          Integer(cw_Usedefault),Integer(cw_Usedefault),
          Integer(cw_Usedefault),Integer(cw_Usedefault),
          0,0,hinstance,NIL);


  ShowWindow(Window, sw_Shownormal);UpdateWindow(Window);

  Accs:=LoadAccelerators(hInstance,'MENU_1');
  WHILE GetMessage(Msg,0,0,0) DO
    IF TranslateAccelerator(Window,Accs,Msg)=0 THEN BEGIN
      TranslateMessage(Msg);DispatchMessage(Msg);
    END;
END;

BEGIN
  WinMain;
END.

{$WARNINGS off} // so I can put the resource-file here:

// Save contents below the line as  GenericX.rc
// Create a RES-file:  BRCC32.EXE -r -v -w32 genericx.rc

//--------------------------------------------------------------------------
----------------------
MENU_1 MENU
{
 POPUP "&File"
 {
  MENUITEM "&New\tCtrl+N", 101
  MENUITEM "O&pen...\tCtrl+O", 102
  MENUITEM "&Save\tCtrl+S", 103
  MENUITEM "Save &as...", 104
  MENUITEM SEPARATOR
  MENUITEM "E&xit\tAlt+F4", 199
 }

 MENUITEM "&?", 901
}

INPUT DIALOG 15, 21, 220, 60
STYLE DS_MODALFRAME | 0x1004L | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
FONT 8, "MS Sans Serif"
{
 CONTROL "", 101, "EDIT", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER |
WS_TABSTOP, 10, 15, 200, 12
 CONTROL "OK", 1, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE |
WS_TABSTOP, 50, 40, 50, 14
 CONTROL "Cancel", 2, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE |
WS_TABSTOP, 117, 40, 50, 14
}


MENU_1 ACCELERATORS
{
 VK_F1, 901, VIRTKEY
 "N", 101, VIRTKEY, CONTROL
 "O", 102, VIRTKEY, CONTROL
 "S", 103, VIRTKEY, CONTROL
}


I ICON
{
 '00 00 01 00 03 00 20 20 10 00 00 00 00 00 E8 02'
 '00 00 36 00 00 00 20 20 02 00 00 00 00 00 30 01'
 '00 00 1E 03 00 00 10 10 10 00 00 00 00 00 28 01'
 '00 00 4E 04 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 04 00 00 00 00 00 80 02 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
 '00 00 80 00 80 00 80 80 00 00 C0 C0 C0 00 80 80'
 '80 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
 '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78'
 '88 88 88 88 88 88 88 88 88 88 88 88 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '7F FF FF FF FF FF FF FF FF FF FF F7 80 00 00 7F'
 '78 88 88 88 88 88 88 88 88 88 88 87 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 '7C CC CC CC CC CC CC CC CC CC CC C7 80 00 00 7F'
 '7C CC CC CC CC CC CC CC CC CC CC C7 80 00 00 7F'
 '7C CC CC CC CC CC CC CC CC CC CC C7 80 00 00 7F'
 '77 77 77 77 77 77 77 77 77 77 77 77 80 00 00 7F'
 'FF FF FF FF FF FF FF FF FF FF FF FF 80 00 00 77'
 '77 77 77 77 77 77 77 77 77 77 77 77 70 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF 28 00'
 '00 00 20 00 00 00 40 00 00 00 01 00 01 00 00 00'
 '00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 FF FF FF 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 1F FF FF F8 10 00 00 08 17 FF FF E8 17 FF'
 'FF E8 17 FF FF E8 17 FF FF E8 17 FF FF E8 17 FF'
 'FF E8 17 FF FF E8 17 FF FF E8 17 FF FF E8 17 FF'
 'FF E8 17 FF FF E8 17 FF FF E8 17 FF FF E8 10 00'
 '00 08 17 FF FF E8 10 00 00 08 10 00 00 08 10 00'
 '00 08 10 00 00 08 1F FF FF F8 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 C0 00'
 '00 03 C0 00 00 03 C0 00 00 03 C0 00 00 03 FF FF'
 'FF FF FF FF FF FF FF FF FF FF FF FF FF FF 28 00'
 '00 00 10 00 00 00 20 00 00 00 01 00 04 00 00 00'
 '00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
 '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
 '00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
 '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
 '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 88'
 '88 88 88 88 88 00 07 F7 77 77 77 77 78 00 07 F7'
 '77 77 77 77 78 00 07 F7 77 77 77 77 78 00 07 F7'
 '88 88 88 88 78 00 07 F7 77 77 77 77 78 00 07 F7'
 'CC CC CC CC 78 00 07 F7 CC CC CC CC 78 00 07 F7'
 '77 77 77 77 78 00 07 FF FF FF FF FF F8 00 07 77'
 '77 77 77 77 77 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 80 01'
 '00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01'
 '00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01'
 '00 00 80 01 00 00 80 01 00 00 80 01 00 00 FF FF'
 '00 00 FF FF 00 00'
}



1 VERSIONINFO
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
{
 BLOCK "StringFileInfo"
 {
  BLOCK "080704E4"
  {
   VALUE "CompanyName", "http://home.tiscalinet.ch/t.bigler/\000\000";
   VALUE "FileDescription", "Delphi-Generic � Freeware\000\000"
   VALUE "FileVersion", "1.0.0.0\000\000"
   VALUE "InternalName", "Generic\000\000"
   VALUE "LegalCopyright", "Freeware, � 1995-2002 Thomas Bigler\000\000"
   VALUE "OriginalFilename", "Generic.exe\000\000"
   VALUE "ProductName", "Bigler's Utilities\000\000"
   VALUE "ProductVersion", "1.0.0.0\000\000"
  }

 }

 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 2055, 1252
 }

}




------------------------ Yahoo! Groups Sponsor ---------------------~-->
Inkjet cartridges up to 80% off. HP, Epson, Lexmark--we have your brand.
Free shipping on every order to the U.S. and Canada! Excellent service.
http://www.c1tracking.com/l.asp?cid=5510
http://us.click.yahoo.com/QWB0QC/.eUGAA/ySSFAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke