真の Delphian ならこのページを見てみろ。

このエントリーをはてなブックマークに追加
1極小実行ファイル.exe
このページを見て少しでもファイルサイズを減らせ。
絶対に見る価値はある。

ttp://halbow.cool.ne.jp/
この期に及んでまたしても糞スレが...
3 :02/02/01 23:37
2ゲット〜
program Window1;

uses
 Windows, Messages;

const
 AppName = 'Window1';

function WindowProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; export;
begin
 Result:=0;
 case AMessage of
  wm_Destroy: begin
         PostQuitMessage(0);
         Exit;
        end;
 end;
 Result:=DefWindowProc(Window, AMessage, WParam, LParam);
end;

function WinRegister: Boolean;
var
 WindowClass: TWndClassEx;
begin
 with WindowClass do
 begin
  cbSize:=SizeOf(WindowClass);
  Style:=cs_hRedraw or cs_vRedraw;
  lpfnWndProc:=@WindowProc;
  cbClsExtra:=0;
  cbWndExtra:=0;
  hInstance:=HInstance;
  hIcon:=LoadIcon(0, idi_Application);
  hCursor:=LoadCursor(0, idi_Application);
  hbrBackground:=HBrush(Color_Window);
  lpszMenuName:=nil;
  lpszClassName:=AppName;
  hIconSm:=0;
 end;
 Result:=RegisterClassEx(WindowClass)<>0;
end;

function WinCreate: HWnd;
var
 hWindow: HWnd;
begin
 hWindow:=CreateWindow(AppName, 'Object Pascal Window',
            ws_OverlappedWindow, cw_UseDefault, cw_UseDefault,
            cw_UseDefault, cw_UseDefault, 0, 0, HInstance, nil);
 if hWindow<>0 then
 begin
  ShowWindow(hWindow, CmdShow);
  Updatewindow(hWindow);
 end;
 Result:=hWindow;
end;
>続き
var
 AMessage: TMsg;
 hWindow: HWnd;
begin
 if not WinRegister then
 begin
  MessageBox(0, 'Register failed', nil, mb_Ok);
  Exit;
 end;
 hWindow:=WinCreate;
 if hWindow=0 then
 begin
  MessageBox(0, 'WinCreate failed', nil, mb_Ok);
  Exit;
 end;
 while GetMessage(AMessage, 0, 0, 0) do
 begin
  TranslateMessage(AMessage);
  DispatchMessage(AMessage);
 end;
 Halt(AMessage.wParam);
end.

このプログラムDel5でコンパイルするとちゃんと動くのに
Del6でコンパイルするとCreateWindowに失敗する

誰か理由を知ってる人いる?
>>1
普段からやってるよ・・・そんなこと
↓スレ重複してるし・・・

Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
とりあえず>6のスレに移動したら調べてやるから
第一お前の言う「真のDelphian」ってのはこれくらいのことをすでにやっていて、
その上でVCLを使っている人のこと。
>>1のページの人がそういう人だろ?
94-5:02/02/02 01:21
>>7 しゃれで書いただけだから

>>1 この程度は常識なんだよ
頼むから >>1 よ、そんなにサイズ小さくしたいならアセンブラでやってくれ!
ね、もうやめよう?
つうか同じDelphi使いとしてこんなスレ立つのが恥ずかしい。
>>12
このスレはDel信者を装ったRuby厨です。
CPU の処理速度の劇的な向上、ハードディスクやメモリが
安価になったこと、Web 上の通信速度の向上のため「小さい
実行ファイルを作る」こと自体の意義は、相対的に低下して
います。開発コストやコードの堅牢性、高い保守性などを考
慮すると、信頼性の高いライブラリを使った方が実際的なこ
とは明らかです。

しかし、教育的な意義は少しも低下していません。4−5に
示されたいわゆる Generic.c に対応するコードは、いまもっ
て Windows プログラマには重要です。9さんは、「常識であ
る」と仰っていますが、メッセージ処理、ウィンドウ関数、
メッセージループについて知っているウィンドウズプログラマ
は本当に少ないんです。4−5のコードでウィンドウを作って
それが「普通のウィンドウ」として何故動作するのか、を本当
に理解しているプログラマの割合はそんなに大きくはないので
す。Generic.c 以外にも、いわゆる Petzold 本にのっている
全てのコードが Delphi の Pascal (Object Pascal ではなく)
を使って、同じことができることを知ることは重要です。

VCLのコードの大半は、結局、上記の事を理解すると解読が
簡単になります。また、使いにくいというヘルプも大体何を
言っているのか分かるようになります。

というわけで、繰り返しますが、「小さい実行ファイルをつくる」
こと自体が重要なのではなく、それを通じて Windows 自体の仕
組みを知ることこそ、ウィンドウズプログラマにとって価値が
あることだと思います。
DelphiってSDK書かなくてもウィンドウ出せるの?
すげー便利だ。
>>15
Delphi に限らず、VBでも、VC++でも SDK を直接使わなくても
ウィンドウを作れると思いますが?
>>15 windows.h 相当の windows unitがあるというだけの話では?
1816:02/02/06 01:40
あっ、APIのインポートライブラリが標準で付属してるってことですか。
これがないウィンドウズプログラム作成環境が存在すること自体が
信じられないことですが......。
>>18
VB(ぼそ

WindowsAPIを含む外部関数を呼び出すときは
Declare文を自分で書かないといけない。
20デフォルトの名無しさん:02/04/19 12:18
delphi!
EXEのサイズが気になるなら、こういうので小さくしろや。って既出だよな。
ttp://www.jonathanclark.com/ezip/
ただの嫌がらせか?>>1
生産性が落ちたら意味がねー言語だろ、Delphiは!

>>22
 生産性・・・なんか悲しい響きだね
>>22
>生産性が落ちたら意味がねー言語だろ、Delphiは!

生産性が落ちても意味がある言語ってなに?
そもそも Delphi は言語ではありませんが。

ただの嫌がらせか?>>22
25デフォルトの名無しさん:02/06/30 14:12
>>24
アセンブラとか
>>25
なぜ今ごろレスる。。。

それにアセンブラの場合は局所的に使うことによって全体の生産性を上げるのが目的でしょ?
効率が上がることが生産性の向上につながると解釈すれば
生産性の向上って・・・・ほんと悲しい響きだね・・・・・

楽な方法ばかり使ってると、出来る範囲が狭くなるだけ
人間が作るんだからその人間を鍛える事も必要だよ

例えばwindowsのAPIを叩くにはcの方が参考文献もサンプルコードも
多いけど、あえてDelphiを使う事で自分を鍛えるとかさ
28デフォルトの名無しさん:02/08/05 00:45
.⌒ヽ           ' ⌒ヽ           /.|:::::::::::|
乂乂||          |乂乂||         |  |:::::::::::|
乂乂||          |乂乂||         |  |:::::::::::|
乂乂||          |乂乂||   ___|_|:::::::::::|____
乂乂||          |乂乂||  /|::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
 ̄ ̄            ̄ ̄  i  |::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
      _____         .|/ ̄ ̄ ̄../|:::::::::::| ̄ ̄ ̄/
     ||L L | L L ||        ̄ ̄ ̄ ̄|  |:::::::::::| ̄ ̄ ̄
     ||L L | L L ||               |  |:::::::::::|
     ||L L | L L ||_________ .|  |:::::::::::|
===========l| L L l================= i  |:::::::::::|
二二二二二二ヽ   iヽ二二二二二二二二i  |:::::::::::|
:::::::::::::::::::::::::::::::::::i   ヽ|     __,、___.i  |:::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄\   ∧_∧ _i'くi" ⌒ヽ、  |:::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|......( ´Д`)_l ''!ノlノハ)))|  |:::::::::::|__
::::::::::::::::::::::::::::::::::::::::: |  /  (S)::::::i从リ ´ワ`ノ |:::::::::::|  \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| .\ ....\|:::::::::::|    \
      ____/|____  .|   .\    ̄ ̄
     /懺悔します…
     | アスキーアートエディターにいけないんです…。
     \_______________
真の Debian ならこのページを見てみろ。
http://www.debian.org/